{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentArchived",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "componentName",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "registryAddress",
          "type": "address"
        }
      ],
      "name": "LogComponentCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentPaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "componentName",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentProposed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentResumed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateOld",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentState",
          "name": "stateNew",
          "type": "uint8"
        }
      ],
      "name": "LogComponentStateChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentSuspended",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogComponentUnpaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "numberOfBundles",
          "type": "uint256"
        }
      ],
      "name": "LogMaximumNumberOfActiveBundlesSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleBurned",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleClosed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleDefunded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleFunded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleLocked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "isMatching",
          "type": "bool"
        }
      ],
      "name": "LogRiskpoolBundleMatchesPolicy",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleUnlocked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "isSecured",
          "type": "bool"
        }
      ],
      "name": "LogRiskpoolCollateralLocked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolCollateralReleased",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "riskpoolAddress",
          "type": "address"
        }
      ],
      "name": "LogRiskpoolCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolPayoutProcessed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolPremiumProcessed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolProposed",
      "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": "DEFAULT_FILTER_DATA_STRUCTURE",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "FULL_COLLATERALIZATION_LEVEL",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "activeBundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "approvalCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "archiveCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "riskpoolId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "tokenId",
              "type": "uint256"
            },
            {
              "internalType": "enum IBundle.BundleState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "filter",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "capital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "lockedCapital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "balance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBundle.Bundle",
          "name": "bundle",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "enum IPolicy.ApplicationState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "premiumAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "sumInsuredAmount",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPolicy.Application",
          "name": "application",
          "type": "tuple"
        }
      ],
      "name": "bundleMatchesApplication",
      "outputs": [
        {
          "internalType": "bool",
          "name": "isMatching",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "bundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "burnBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "closeBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "name": "collateralizePolicy",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "filter",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "initialAmount",
          "type": "uint256"
        }
      ],
      "name": "createBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "declineCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "defundBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "netAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "fundBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "netAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getActiveBundleId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getBundle",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "riskpoolId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "tokenId",
              "type": "uint256"
            },
            {
              "internalType": "enum IBundle.BundleState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "filter",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "capital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "lockedCapital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "balance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBundle.Bundle",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getBundleId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCapacity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCapital",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCollateralizationLevel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getErc20Token",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getFilterDataStructure",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getFullCollateralizationLevel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMaximumNumberOfActiveBundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "maximumNumberOfActiveBundles",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getName",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRegistry",
      "outputs": [
        {
          "internalType": "contract IRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getState",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentState",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getSumOfSumInsuredCap",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTotalValueLocked",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getType",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getWallet",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isOracle",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isProduct",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isRiskpool",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "lockBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pauseCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "processPolicyPayout",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "processPolicyPremium",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposalCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "releasePolicy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "resumeCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "setId",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "maximumNumberOfActiveBundles",
          "type": "uint256"
        }
      ],
      "name": "setMaximumNumberOfActiveBundles",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "suspendCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "unlockBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "unpauseCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "0": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/Ownable.sol",
    "11": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol",
    "15": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/introspection/IERC165.sol",
    "26": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Component.sol",
    "27": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
    "30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
    "33": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol",
    "35": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol",
    "38": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
    "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
    "40": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
    "41": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceOperatorService.sol",
    "42": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
    "43": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IOracleService.sol",
    "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
    "45": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
    "46": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/tokens/IBundleToken.sol",
    "58": "contracts/gif/Riskpool2.sol",
    "7": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol"
  },
  "ast": {
    "absolutePath": "contracts/gif/Riskpool2.sol",
    "exportedSymbols": {
      "Component": [
        14352
      ],
      "Context": [
        15648
      ],
      "IAccess": [
        22927
      ],
      "IBundle": [
        13382
      ],
      "IBundleToken": [
        13428
      ],
      "IComponent": [
        11675
      ],
      "IComponentEvents": [
        22980
      ],
      "IComponentOwnerService": [
        23015
      ],
      "IERC165": [
        22864
      ],
      "IERC20": [
        15820
      ],
      "IERC20Metadata": [
        9510
      ],
      "IERC721": [
        13932
      ],
      "IInstanceOperatorService": [
        23282
      ],
      "IInstanceService": [
        14934
      ],
      "IOracleService": [
        23292
      ],
      "IPolicy": [
        12649
      ],
      "IPool": [
        23131
      ],
      "IProductService": [
        22121
      ],
      "IRegistry": [
        21976
      ],
      "IRiskpool": [
        14585
      ],
      "IRiskpoolService": [
        15040
      ],
      "ITreasury": [
        12909
      ],
      "Ownable": [
        9476
      ],
      "Riskpool2": [
        7300
      ]
    },
    "id": 7301,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6415,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:58"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/extensions/IERC20Metadata.sol",
        "file": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
        "id": 6416,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 9511,
        "src": "63:75:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol",
        "file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
        "id": 6417,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 13933,
        "src": "139:58:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
        "file": "@etherisc/gif-interface/contracts/components/IRiskpool.sol",
        "id": 6418,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 14586,
        "src": "199:68:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Component.sol",
        "file": "@etherisc/gif-interface/contracts/components/Component.sol",
        "id": 6419,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 14353,
        "src": "268:68:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
        "file": "@etherisc/gif-interface/contracts/modules/IBundle.sol",
        "id": 6420,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 13383,
        "src": "338:63:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
        "file": "@etherisc/gif-interface/contracts/modules/IPolicy.sol",
        "id": 6421,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 12650,
        "src": "402:63:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
        "file": "@etherisc/gif-interface/contracts/services/IInstanceService.sol",
        "id": 6422,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 14935,
        "src": "466:73:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
        "file": "@etherisc/gif-interface/contracts/services/IRiskpoolService.sol",
        "id": 6423,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7301,
        "sourceUnit": 15041,
        "src": "540:73:58",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": true,
        "baseContracts": [
          {
            "baseName": {
              "id": 6424,
              "name": "IRiskpool",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 14585,
              "src": "652:9:58"
            },
            "id": 6425,
            "nodeType": "InheritanceSpecifier",
            "src": "652:9:58"
          },
          {
            "baseName": {
              "id": 6426,
              "name": "Component",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 14352,
              "src": "668:9:58"
            },
            "id": 6427,
            "nodeType": "InheritanceSpecifier",
            "src": "668:9:58"
          }
        ],
        "contractDependencies": [
          9476,
          11675,
          14352,
          14585,
          15648,
          22980
        ],
        "contractKind": "contract",
        "fullyImplemented": false,
        "id": 7300,
        "linearizedBaseContracts": [
          7300,
          14352,
          9476,
          15648,
          22980,
          14585,
          11675
        ],
        "name": "Riskpool2",
        "nameLocation": "634:9:58",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 6431,
            "name": "LogMaximumNumberOfActiveBundlesSet",
            "nameLocation": "726:34:58",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6430,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6429,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "numberOfBundles",
                  "nameLocation": "769:15:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6431,
                  "src": "761:23:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6428,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "761:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "760:25:58"
            },
            "src": "720:66:58"
          },
          {
            "anonymous": false,
            "id": 6437,
            "name": "LogRiskpoolBundleFunded",
            "nameLocation": "797:23:58",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6436,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6433,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "829:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6437,
                  "src": "821:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6432,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "821:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6435,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "847:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6437,
                  "src": "839:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6434,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "839:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "820:34:58"
            },
            "src": "791:64:58"
          },
          {
            "anonymous": false,
            "id": 6443,
            "name": "LogRiskpoolBundleDefunded",
            "nameLocation": "866:25:58",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6442,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6439,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "900:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6443,
                  "src": "892:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6438,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "892:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6441,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "918:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6443,
                  "src": "910:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6440,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "910:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "891:34:58"
            },
            "src": "860:66:58"
          },
          {
            "anonymous": false,
            "id": 6447,
            "name": "LogRiskpoolBundleLocked",
            "nameLocation": "938:23:58",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6446,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6445,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "970:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6447,
                  "src": "962:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6444,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "962:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "961:18:58"
            },
            "src": "932:48:58"
          },
          {
            "anonymous": false,
            "id": 6451,
            "name": "LogRiskpoolBundleUnlocked",
            "nameLocation": "991:25:58",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6450,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6449,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1025:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6451,
                  "src": "1017:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6448,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1017:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1016:18:58"
            },
            "src": "985:50:58"
          },
          {
            "anonymous": false,
            "id": 6455,
            "name": "LogRiskpoolBundleClosed",
            "nameLocation": "1046:23:58",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6454,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6453,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1078:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6455,
                  "src": "1070:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6452,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1070:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1069:18:58"
            },
            "src": "1040:48:58"
          },
          {
            "anonymous": false,
            "id": 6459,
            "name": "LogRiskpoolBundleBurned",
            "nameLocation": "1099:23:58",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6458,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6457,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1131:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6459,
                  "src": "1123:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6456,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1123:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1122:18:58"
            },
            "src": "1093:48:58"
          },
          {
            "constant": true,
            "functionSelector": "45fe1c6d",
            "id": 6464,
            "mutability": "constant",
            "name": "FULL_COLLATERALIZATION_LEVEL",
            "nameLocation": "1330:28:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1306:61:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6460,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1306:7:58",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "commonType": {
                "typeIdentifier": "t_rational_1000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000"
              },
              "id": 6463,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "hexValue": "3130",
                "id": 6461,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "1361:2:58",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10_by_1",
                  "typeString": "int_const 10"
                },
                "value": "10"
              },
              "nodeType": "BinaryOperation",
              "operator": "**",
              "rightExpression": {
                "hexValue": "3138",
                "id": 6462,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "1365:2:58",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_18_by_1",
                  "typeString": "int_const 18"
                },
                "value": "18"
              },
              "src": "1361:6:58",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000"
              }
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "functionSelector": "7893c7bc",
            "id": 6467,
            "mutability": "constant",
            "name": "DEFAULT_FILTER_DATA_STRUCTURE",
            "nameLocation": "1396:29:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1373:57:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory_ptr",
              "typeString": "string"
            },
            "typeName": {
              "id": 6465,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "1373:6:58",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "hexValue": "",
              "id": 6466,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1428:2:58",
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                "typeString": "literal_string \"\""
              },
              "value": ""
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6470,
            "mutability": "mutable",
            "name": "_instanceService",
            "nameLocation": "1463:16:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1437:42:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IInstanceService_$14934",
              "typeString": "contract IInstanceService"
            },
            "typeName": {
              "id": 6469,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 6468,
                "name": "IInstanceService",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 14934,
                "src": "1437:16:58"
              },
              "referencedDeclaration": 14934,
              "src": "1437:16:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IInstanceService_$14934",
                "typeString": "contract IInstanceService"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 6473,
            "mutability": "mutable",
            "name": "_riskpoolService",
            "nameLocation": "1512:16:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1486:42:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
              "typeString": "contract IRiskpoolService"
            },
            "typeName": {
              "id": 6472,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 6471,
                "name": "IRiskpoolService",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 15040,
                "src": "1486:16:58"
              },
              "referencedDeclaration": 15040,
              "src": "1486:16:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                "typeString": "contract IRiskpoolService"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 6476,
            "mutability": "mutable",
            "name": "_bundleToken",
            "nameLocation": "1551:12:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1534:29:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IERC721_$13932",
              "typeString": "contract IERC721"
            },
            "typeName": {
              "id": 6475,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 6474,
                "name": "IERC721",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 13932,
                "src": "1534:7:58"
              },
              "referencedDeclaration": 13932,
              "src": "1534:7:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IERC721_$13932",
                "typeString": "contract IERC721"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 6479,
            "mutability": "mutable",
            "name": "_bundleIds",
            "nameLocation": "1653:10:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1633:30:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
              "typeString": "uint256[]"
            },
            "typeName": {
              "baseType": {
                "id": 6477,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1633:7:58",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "id": 6478,
              "nodeType": "ArrayTypeName",
              "src": "1633:10:58",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                "typeString": "uint256[]"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 6481,
            "mutability": "mutable",
            "name": "_wallet",
            "nameLocation": "1686:7:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1670:23:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6480,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "1670:7:58",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6483,
            "mutability": "mutable",
            "name": "_erc20Token",
            "nameLocation": "1715:11:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1699:27:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6482,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "1699:7:58",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6485,
            "mutability": "mutable",
            "name": "_collateralization",
            "nameLocation": "1748:18:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1732:34:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6484,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1732:7:58",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6487,
            "mutability": "mutable",
            "name": "_sumOfSumInsuredCap",
            "nameLocation": "1788:19:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1772:35:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6486,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1772:7:58",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6489,
            "mutability": "mutable",
            "name": "_maxNumberOfActiveBundles",
            "nameLocation": "1829:25:58",
            "nodeType": "VariableDeclaration",
            "scope": 7300,
            "src": "1813:41:58",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 6488,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1813:7:58",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 6502,
              "nodeType": "Block",
              "src": "1879:145:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6497,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6492,
                            "name": "_msgSender",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15638,
                            "src": "1910:10:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                              "typeString": "function () view returns (address)"
                            }
                          },
                          "id": 6493,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1910:12:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "506f6f6c",
                              "id": 6495,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1946:6:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_4a62f5c1187999cdd374fd40d850be57b4952a965136e01501e2ac9ed75fe27f",
                                "typeString": "literal_string \"Pool\""
                              },
                              "value": "Pool"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_4a62f5c1187999cdd374fd40d850be57b4952a965136e01501e2ac9ed75fe27f",
                                "typeString": "literal_string \"Pool\""
                              }
                            ],
                            "id": 6494,
                            "name": "_getContractAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14351,
                            "src": "1926:19:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6496,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1926:27:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1910:43:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3030313a4143434553535f44454e494544",
                        "id": 6498,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1967:29:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f210ad6881c3bcfe6eee67ece1d0f357ecc667e4ab67d69f8ab3ef73d4a985c4",
                          "typeString": "literal_string \"ERROR:RPL-001:ACCESS_DENIED\""
                        },
                        "value": "ERROR:RPL-001:ACCESS_DENIED"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f210ad6881c3bcfe6eee67ece1d0f357ecc667e4ab67d69f8ab3ef73d4a985c4",
                          "typeString": "literal_string \"ERROR:RPL-001:ACCESS_DENIED\""
                        }
                      ],
                      "id": 6491,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1889:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6499,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1889:117:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6500,
                  "nodeType": "ExpressionStatement",
                  "src": "1889:117:58"
                },
                {
                  "id": 6501,
                  "nodeType": "PlaceholderStatement",
                  "src": "2016:1:58"
                }
              ]
            },
            "id": 6503,
            "name": "onlyPool",
            "nameLocation": "1870:8:58",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 6490,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1879:0:58"
            },
            "src": "1861:163:58",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6534,
              "nodeType": "Block",
              "src": "2073:278:58",
              "statements": [
                {
                  "assignments": [
                    6511
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6511,
                      "mutability": "mutable",
                      "name": "bundle",
                      "nameLocation": "2105:6:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 6534,
                      "src": "2083:28:58",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                        "typeString": "struct IBundle.Bundle"
                      },
                      "typeName": {
                        "id": 6510,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 6509,
                          "name": "IBundle.Bundle",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 13298,
                          "src": "2083:14:58"
                        },
                        "referencedDeclaration": 13298,
                        "src": "2083:14:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Bundle_$13298_storage_ptr",
                          "typeString": "struct IBundle.Bundle"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6516,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 6514,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6505,
                        "src": "2141:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6512,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "2114:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 6513,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getBundle",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14833,
                      "src": "2114:26:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Bundle_$13298_memory_ptr_$",
                        "typeString": "function (uint256) view external returns (struct IBundle.Bundle memory)"
                      }
                    },
                    "id": 6515,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2114:36:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                      "typeString": "struct IBundle.Bundle memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2083:67:58"
                },
                {
                  "assignments": [
                    6518
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6518,
                      "mutability": "mutable",
                      "name": "bundleOwner",
                      "nameLocation": "2168:11:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 6534,
                      "src": "2160:19:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 6517,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2160:7:58",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6524,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 6521,
                          "name": "bundle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6511,
                          "src": "2203:6:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                            "typeString": "struct IBundle.Bundle memory"
                          }
                        },
                        "id": 6522,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "tokenId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 13282,
                        "src": "2203:14:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6519,
                        "name": "_bundleToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6476,
                        "src": "2182:12:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC721_$13932",
                          "typeString": "contract IERC721"
                        }
                      },
                      "id": 6520,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "ownerOf",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13865,
                      "src": "2182:20:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$",
                        "typeString": "function (uint256) view external returns (address)"
                      }
                    },
                    "id": 6523,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2182:36:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2160:58:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6529,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 6526,
                            "name": "_msgSender",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 15638,
                            "src": "2250:10:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                              "typeString": "function () view returns (address)"
                            }
                          },
                          "id": 6527,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2250:12:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "id": 6528,
                          "name": "bundleOwner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6518,
                          "src": "2266:11:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2250:27:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3030323a4e4f545f42554e444c455f4f574e4552",
                        "id": 6530,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2291:32:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_06193a7b909894538748d46924b3ab5ee28543dd7814e678e4a8e1704de343ec",
                          "typeString": "literal_string \"ERROR:RPL-002:NOT_BUNDLE_OWNER\""
                        },
                        "value": "ERROR:RPL-002:NOT_BUNDLE_OWNER"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_06193a7b909894538748d46924b3ab5ee28543dd7814e678e4a8e1704de343ec",
                          "typeString": "literal_string \"ERROR:RPL-002:NOT_BUNDLE_OWNER\""
                        }
                      ],
                      "id": 6525,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2229:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6531,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2229:104:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6532,
                  "nodeType": "ExpressionStatement",
                  "src": "2229:104:58"
                },
                {
                  "id": 6533,
                  "nodeType": "PlaceholderStatement",
                  "src": "2343:1:58"
                }
              ]
            },
            "id": 6535,
            "name": "onlyBundleOwner",
            "nameLocation": "2039:15:58",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 6506,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6505,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2063:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6535,
                  "src": "2055:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6504,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2055:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2054:18:58"
            },
            "src": "2030:321:58",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6621,
              "nodeType": "Block",
              "src": "2648:641:58",
              "statements": [
                {
                  "expression": {
                    "id": 6558,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6556,
                      "name": "_collateralization",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6485,
                      "src": "2659:18:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6557,
                      "name": "collateralization",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6539,
                      "src": "2680:17:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2659:38:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6559,
                  "nodeType": "ExpressionStatement",
                  "src": "2659:38:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6563,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6561,
                          "name": "sumOfSumInsuredCap",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6541,
                          "src": "2716:18:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 6562,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2738:1:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "2716:23:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3030333a53554d5f4f465f53554d5f494e53555245445f4341505f5a45524f",
                        "id": 6564,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2741:43:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f991cb4cd0d797af99a098b2b49082673c100db5fecf3e9a9ece2b4065b49344",
                          "typeString": "literal_string \"ERROR:RPL-003:SUM_OF_SUM_INSURED_CAP_ZERO\""
                        },
                        "value": "ERROR:RPL-003:SUM_OF_SUM_INSURED_CAP_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f991cb4cd0d797af99a098b2b49082673c100db5fecf3e9a9ece2b4065b49344",
                          "typeString": "literal_string \"ERROR:RPL-003:SUM_OF_SUM_INSURED_CAP_ZERO\""
                        }
                      ],
                      "id": 6560,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2708:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6565,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2708:77:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6566,
                  "nodeType": "ExpressionStatement",
                  "src": "2708:77:58"
                },
                {
                  "expression": {
                    "id": 6569,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6567,
                      "name": "_sumOfSumInsuredCap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6487,
                      "src": "2795:19:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6568,
                      "name": "sumOfSumInsuredCap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6541,
                      "src": "2817:18:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2795:40:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6570,
                  "nodeType": "ExpressionStatement",
                  "src": "2795:40:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6577,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6572,
                          "name": "erc20Token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6543,
                          "src": "2854:10:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6575,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2876:1:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 6574,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2868:7:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6573,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "2868:7:58",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6576,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2868:10:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2854:24:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3030353a45524332305f414444524553535f5a45524f",
                        "id": 6578,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2880:34:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_adf09af820a47c4ce1e9944376b4c5c51b240341e6bb0711e06d2d192a6ef981",
                          "typeString": "literal_string \"ERROR:RPL-005:ERC20_ADDRESS_ZERO\""
                        },
                        "value": "ERROR:RPL-005:ERC20_ADDRESS_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_adf09af820a47c4ce1e9944376b4c5c51b240341e6bb0711e06d2d192a6ef981",
                          "typeString": "literal_string \"ERROR:RPL-005:ERC20_ADDRESS_ZERO\""
                        }
                      ],
                      "id": 6571,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2846:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6579,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2846:69:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6580,
                  "nodeType": "ExpressionStatement",
                  "src": "2846:69:58"
                },
                {
                  "expression": {
                    "id": 6583,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6581,
                      "name": "_erc20Token",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6483,
                      "src": "2925:11:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6582,
                      "name": "erc20Token",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6543,
                      "src": "2939:10:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "2925:24:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6584,
                  "nodeType": "ExpressionStatement",
                  "src": "2925:24:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6591,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6586,
                          "name": "wallet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6545,
                          "src": "2968:6:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6589,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2986:1:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 6588,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2978:7:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6587,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "2978:7:58",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6590,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2978:10:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2968:20:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3030363a57414c4c45545f414444524553535f5a45524f",
                        "id": 6592,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2990:35:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6406dc09ade8f548dbb1dce3076e8b07b951620f1e4f41eb187bfaca28126dc0",
                          "typeString": "literal_string \"ERROR:RPL-006:WALLET_ADDRESS_ZERO\""
                        },
                        "value": "ERROR:RPL-006:WALLET_ADDRESS_ZERO"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6406dc09ade8f548dbb1dce3076e8b07b951620f1e4f41eb187bfaca28126dc0",
                          "typeString": "literal_string \"ERROR:RPL-006:WALLET_ADDRESS_ZERO\""
                        }
                      ],
                      "id": 6585,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2960:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6593,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2960:66:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6594,
                  "nodeType": "ExpressionStatement",
                  "src": "2960:66:58"
                },
                {
                  "expression": {
                    "id": 6597,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6595,
                      "name": "_wallet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6481,
                      "src": "3036:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 6596,
                      "name": "wallet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6545,
                      "src": "3046:6:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3036:16:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6598,
                  "nodeType": "ExpressionStatement",
                  "src": "3036:16:58"
                },
                {
                  "expression": {
                    "id": 6605,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6599,
                      "name": "_instanceService",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6470,
                      "src": "3063:16:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IInstanceService_$14934",
                        "typeString": "contract IInstanceService"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "hexValue": "496e7374616e636553657276696365",
                              "id": 6602,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3119:17:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_9d0370d7b33c0a7e946fd67f2013156c598b4d6a70b1490bc73aacf4dc1a6f52",
                                "typeString": "literal_string \"InstanceService\""
                              },
                              "value": "InstanceService"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_9d0370d7b33c0a7e946fd67f2013156c598b4d6a70b1490bc73aacf4dc1a6f52",
                                "typeString": "literal_string \"InstanceService\""
                              }
                            ],
                            "id": 6601,
                            "name": "_getContractAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14351,
                            "src": "3099:19:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6603,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3099:38:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6600,
                        "name": "IInstanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14934,
                        "src": "3082:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IInstanceService_$14934_$",
                          "typeString": "type(contract IInstanceService)"
                        }
                      },
                      "id": 6604,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3082:56:58",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IInstanceService_$14934",
                        "typeString": "contract IInstanceService"
                      }
                    },
                    "src": "3063:75:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IInstanceService_$14934",
                      "typeString": "contract IInstanceService"
                    }
                  },
                  "id": 6606,
                  "nodeType": "ExpressionStatement",
                  "src": "3063:75:58"
                },
                {
                  "expression": {
                    "id": 6613,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6607,
                      "name": "_riskpoolService",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6473,
                      "src": "3149:16:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                        "typeString": "contract IRiskpoolService"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "hexValue": "5269736b706f6f6c53657276696365",
                              "id": 6610,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3205:17:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_e85801e7370f8299b20de95f253b0d76ea9617d54202cf651cae4bfb65abf86a",
                                "typeString": "literal_string \"RiskpoolService\""
                              },
                              "value": "RiskpoolService"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_e85801e7370f8299b20de95f253b0d76ea9617d54202cf651cae4bfb65abf86a",
                                "typeString": "literal_string \"RiskpoolService\""
                              }
                            ],
                            "id": 6609,
                            "name": "_getContractAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14351,
                            "src": "3185:19:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                              "typeString": "function (bytes32) view returns (address)"
                            }
                          },
                          "id": 6611,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3185:38:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 6608,
                        "name": "IRiskpoolService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 15040,
                        "src": "3168:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IRiskpoolService_$15040_$",
                          "typeString": "type(contract IRiskpoolService)"
                        }
                      },
                      "id": 6612,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3168:56:58",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                        "typeString": "contract IRiskpoolService"
                      }
                    },
                    "src": "3149:75:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                      "typeString": "contract IRiskpoolService"
                    }
                  },
                  "id": 6614,
                  "nodeType": "ExpressionStatement",
                  "src": "3149:75:58"
                },
                {
                  "expression": {
                    "id": 6619,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6615,
                      "name": "_bundleToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6476,
                      "src": "3234:12:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IERC721_$13932",
                        "typeString": "contract IERC721"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "id": 6616,
                          "name": "_instanceService",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6470,
                          "src": "3249:16:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IInstanceService_$14934",
                            "typeString": "contract IInstanceService"
                          }
                        },
                        "id": 6617,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getBundleToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 14820,
                        "src": "3249:31:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IBundleToken_$13428_$",
                          "typeString": "function () view external returns (contract IBundleToken)"
                        }
                      },
                      "id": 6618,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3249:33:58",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IBundleToken_$13428",
                        "typeString": "contract IBundleToken"
                      }
                    },
                    "src": "3234:48:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC721_$13932",
                      "typeString": "contract IERC721"
                    }
                  },
                  "id": 6620,
                  "nodeType": "ExpressionStatement",
                  "src": "3234:48:58"
                }
              ]
            },
            "id": 6622,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6550,
                    "name": "name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6537,
                    "src": "2604:4:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  {
                    "expression": {
                      "id": 6551,
                      "name": "ComponentType",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 11578,
                      "src": "2610:13:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_enum$_ComponentType_$11578_$",
                        "typeString": "type(enum IComponent.ComponentType)"
                      }
                    },
                    "id": 6552,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberName": "Riskpool",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 11577,
                    "src": "2610:22:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentType_$11578",
                      "typeString": "enum IComponent.ComponentType"
                    }
                  },
                  {
                    "id": 6553,
                    "name": "registry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6547,
                    "src": "2634:8:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 6554,
                "modifierName": {
                  "id": 6549,
                  "name": "Component",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 14352,
                  "src": "2594:9:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "2594:49:58"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6548,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6537,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "2386:4:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6622,
                  "src": "2378:12:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6536,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2378:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6539,
                  "mutability": "mutable",
                  "name": "collateralization",
                  "nameLocation": "2408:17:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6622,
                  "src": "2400:25:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6538,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2400:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6541,
                  "mutability": "mutable",
                  "name": "sumOfSumInsuredCap",
                  "nameLocation": "2443:18:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6622,
                  "src": "2435:26:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6540,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2435:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6543,
                  "mutability": "mutable",
                  "name": "erc20Token",
                  "nameLocation": "2519:10:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6622,
                  "src": "2511:18:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6542,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2511:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6545,
                  "mutability": "mutable",
                  "name": "wallet",
                  "nameLocation": "2547:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6622,
                  "src": "2539:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6544,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2539:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6547,
                  "mutability": "mutable",
                  "name": "registry",
                  "nameLocation": "2571:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6622,
                  "src": "2563:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6546,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2563:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2368:217:58"
            },
            "returnParameters": {
              "id": 6555,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2648:0:58"
            },
            "scope": 7300,
            "src": "2357:932:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              14271
            ],
            "body": {
              "id": 6635,
              "nodeType": "Block",
              "src": "3346:172:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6629,
                        "name": "_wallet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6481,
                        "src": "3403:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6630,
                        "name": "_erc20Token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6483,
                        "src": "3424:11:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6631,
                        "name": "_collateralization",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6485,
                        "src": "3450:18:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6632,
                        "name": "_sumOfSumInsuredCap",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6487,
                        "src": "3482:19:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6626,
                        "name": "_riskpoolService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6473,
                        "src": "3356:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                          "typeString": "contract IRiskpoolService"
                        }
                      },
                      "id": 6628,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "registerRiskpool",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14947,
                      "src": "3356:33:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256,uint256) external"
                      }
                    },
                    "id": 6633,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3356:155:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6634,
                  "nodeType": "ExpressionStatement",
                  "src": "3356:155:58"
                }
              ]
            },
            "id": 6636,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterPropose",
            "nameLocation": "3304:13:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6624,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3329:8:58"
            },
            "parameters": {
              "id": 6623,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3317:2:58"
            },
            "returnParameters": {
              "id": 6625,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3346:0:58"
            },
            "scope": 7300,
            "src": "3295:223:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              14422
            ],
            "body": {
              "id": 6677,
              "nodeType": "Block",
              "src": "3661:348:58",
              "statements": [
                {
                  "assignments": [
                    6647
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6647,
                      "mutability": "mutable",
                      "name": "bundleOwner",
                      "nameLocation": "3679:11:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 6677,
                      "src": "3671:19:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 6646,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3671:7:58",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6650,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 6648,
                      "name": "_msgSender",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15638,
                      "src": "3693:10:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 6649,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3693:12:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3671:34:58"
                },
                {
                  "expression": {
                    "id": 6658,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6651,
                      "name": "bundleId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6644,
                      "src": "3715:8:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6654,
                          "name": "bundleOwner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6647,
                          "src": "3756:11:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "id": 6655,
                          "name": "filter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6638,
                          "src": "3769:6:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        {
                          "id": 6656,
                          "name": "initialAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6640,
                          "src": "3777:13:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 6652,
                          "name": "_riskpoolService",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6473,
                          "src": "3726:16:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                            "typeString": "contract IRiskpoolService"
                          }
                        },
                        "id": 6653,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "createBundle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 14958,
                        "src": "3726:29:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                          "typeString": "function (address,bytes memory,uint256) external returns (uint256)"
                        }
                      },
                      "id": 6657,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3726:65:58",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3715:76:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6659,
                  "nodeType": "ExpressionStatement",
                  "src": "3715:76:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6663,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6644,
                        "src": "3817:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6660,
                        "name": "_bundleIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6479,
                        "src": "3801:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 6662,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "src": "3801:15:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$",
                        "typeString": "function (uint256[] storage pointer,uint256)"
                      }
                    },
                    "id": 6664,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3801:25:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6665,
                  "nodeType": "ExpressionStatement",
                  "src": "3801:25:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6667,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6644,
                        "src": "3905:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6668,
                        "name": "filter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6638,
                        "src": "3915:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 6669,
                        "name": "initialAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6640,
                        "src": "3923:13:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6666,
                      "name": "_afterCreateBundle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7229,
                      "src": "3886:18:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,bytes memory,uint256)"
                      }
                    },
                    "id": 6670,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3886:51:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6671,
                  "nodeType": "ExpressionStatement",
                  "src": "3886:51:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6673,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6644,
                        "src": "3978:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6674,
                        "name": "initialAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6640,
                        "src": "3988:13:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6672,
                      "name": "LogRiskpoolBundleCreated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14381,
                      "src": "3953:24:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 6675,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3953:49:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6676,
                  "nodeType": "EmitStatement",
                  "src": "3948:54:58"
                }
              ]
            },
            "functionSelector": "7888a2ff",
            "id": 6678,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "3533:12:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6642,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3614:8:58"
            },
            "parameters": {
              "id": 6641,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6638,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "3559:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6678,
                  "src": "3546:19:58",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 6637,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3546:5:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6640,
                  "mutability": "mutable",
                  "name": "initialAmount",
                  "nameLocation": "3575:13:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6678,
                  "src": "3567:21:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6639,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3567:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3545:44:58"
            },
            "returnParameters": {
              "id": 6645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6644,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "3647:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6678,
                  "src": "3639:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6643,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3639:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3638:18:58"
            },
            "scope": 7300,
            "src": "3524:485:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14431
            ],
            "body": {
              "id": 6709,
              "nodeType": "Block",
              "src": "4169:225:58",
              "statements": [
                {
                  "expression": {
                    "id": 6697,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6691,
                      "name": "netAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6689,
                      "src": "4179:9:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6694,
                          "name": "bundleId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6680,
                          "src": "4219:8:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "id": 6695,
                          "name": "amount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6682,
                          "src": "4229:6:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 6692,
                          "name": "_riskpoolService",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6473,
                          "src": "4191:16:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                            "typeString": "contract IRiskpoolService"
                          }
                        },
                        "id": 6693,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "fundBundle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 14967,
                        "src": "4191:27:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                          "typeString": "function (uint256,uint256) external returns (uint256)"
                        }
                      },
                      "id": 6696,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4191:45:58",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4179:57:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6698,
                  "nodeType": "ExpressionStatement",
                  "src": "4179:57:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6700,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6680,
                        "src": "4313:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6701,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6682,
                        "src": "4323:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6699,
                      "name": "_afterFundBundle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7237,
                      "src": "4296:16:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 6702,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4296:34:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6703,
                  "nodeType": "ExpressionStatement",
                  "src": "4296:34:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6705,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6680,
                        "src": "4370:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6706,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6682,
                        "src": "4380:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6704,
                      "name": "LogRiskpoolBundleFunded",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6437,
                      "src": "4346:23:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 6707,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4346:41:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6708,
                  "nodeType": "EmitStatement",
                  "src": "4341:46:58"
                }
              ]
            },
            "functionSelector": "89002da5",
            "id": 6710,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6686,
                    "name": "bundleId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6680,
                    "src": "4120:8:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 6687,
                "modifierName": {
                  "id": 6685,
                  "name": "onlyBundleOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6535,
                  "src": "4104:15:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "4104:25:58"
              }
            ],
            "name": "fundBundle",
            "nameLocation": "4024:10:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6684,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4087:8:58"
            },
            "parameters": {
              "id": 6683,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6680,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "4043:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6710,
                  "src": "4035:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6679,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4035:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6682,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "4061:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6710,
                  "src": "4053:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6681,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4053:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4034:34:58"
            },
            "returnParameters": {
              "id": 6690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6689,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "4154:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6710,
                  "src": "4146:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6688,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4146:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4145:19:58"
            },
            "scope": 7300,
            "src": "4015:379:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14440
            ],
            "body": {
              "id": 6741,
              "nodeType": "Block",
              "src": "4555:231:58",
              "statements": [
                {
                  "expression": {
                    "id": 6729,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6723,
                      "name": "netAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6721,
                      "src": "4565:9:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6726,
                          "name": "bundleId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6712,
                          "src": "4607:8:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "id": 6727,
                          "name": "amount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6714,
                          "src": "4617:6:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 6724,
                          "name": "_riskpoolService",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6473,
                          "src": "4577:16:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                            "typeString": "contract IRiskpoolService"
                          }
                        },
                        "id": 6725,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "defundBundle",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 14976,
                        "src": "4577:29:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                          "typeString": "function (uint256,uint256) external returns (uint256)"
                        }
                      },
                      "id": 6728,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4577:47:58",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4565:59:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6730,
                  "nodeType": "ExpressionStatement",
                  "src": "4565:59:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6732,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6712,
                        "src": "4703:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6733,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6714,
                        "src": "4713:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6731,
                      "name": "_afterDefundBundle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7245,
                      "src": "4684:18:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 6734,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4684:36:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6735,
                  "nodeType": "ExpressionStatement",
                  "src": "4684:36:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6737,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6712,
                        "src": "4762:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6738,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6714,
                        "src": "4772:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6736,
                      "name": "LogRiskpoolBundleDefunded",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6443,
                      "src": "4736:25:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 6739,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4736:43:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6740,
                  "nodeType": "EmitStatement",
                  "src": "4731:48:58"
                }
              ]
            },
            "functionSelector": "36153f3a",
            "id": 6742,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6718,
                    "name": "bundleId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6712,
                    "src": "4506:8:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 6719,
                "modifierName": {
                  "id": 6717,
                  "name": "onlyBundleOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6535,
                  "src": "4490:15:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "4490:25:58"
              }
            ],
            "name": "defundBundle",
            "nameLocation": "4409:12:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6716,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4473:8:58"
            },
            "parameters": {
              "id": 6715,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6712,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "4430:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6742,
                  "src": "4422:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6711,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4422:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6714,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "4448:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6742,
                  "src": "4440:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6713,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4440:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4421:34:58"
            },
            "returnParameters": {
              "id": 6722,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6721,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "4540:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6742,
                  "src": "4532:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6720,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4532:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4531:19:58"
            },
            "scope": 7300,
            "src": "4400:386:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14445
            ],
            "body": {
              "id": 6765,
              "nodeType": "Block",
              "src": "4894:189:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6754,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6744,
                        "src": "4932:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6751,
                        "name": "_riskpoolService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6473,
                        "src": "4904:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                          "typeString": "contract IRiskpoolService"
                        }
                      },
                      "id": 6753,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "lockBundle",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14981,
                      "src": "4904:27:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 6755,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4904:37:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6756,
                  "nodeType": "ExpressionStatement",
                  "src": "4904:37:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6758,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6744,
                        "src": "5018:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6757,
                      "name": "_afterLockBundle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7251,
                      "src": "5001:16:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6759,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5001:26:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6760,
                  "nodeType": "ExpressionStatement",
                  "src": "5001:26:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6762,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6744,
                        "src": "5067:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6761,
                      "name": "LogRiskpoolBundleLocked",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6447,
                      "src": "5043:23:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6763,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5043:33:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6764,
                  "nodeType": "EmitStatement",
                  "src": "5038:38:58"
                }
              ]
            },
            "functionSelector": "a17030d5",
            "id": 6766,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6748,
                    "name": "bundleId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6744,
                    "src": "4880:8:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 6749,
                "modifierName": {
                  "id": 6747,
                  "name": "onlyBundleOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6535,
                  "src": "4864:15:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "4864:25:58"
              }
            ],
            "name": "lockBundle",
            "nameLocation": "4801:10:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6746,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4847:8:58"
            },
            "parameters": {
              "id": 6745,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6744,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "4820:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6766,
                  "src": "4812:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6743,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4812:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4811:18:58"
            },
            "returnParameters": {
              "id": 6750,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4894:0:58"
            },
            "scope": 7300,
            "src": "4792:291:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14450
            ],
            "body": {
              "id": 6789,
              "nodeType": "Block",
              "src": "5193:195:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6778,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6768,
                        "src": "5233:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6775,
                        "name": "_riskpoolService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6473,
                        "src": "5203:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                          "typeString": "contract IRiskpoolService"
                        }
                      },
                      "id": 6777,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "unlockBundle",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14986,
                      "src": "5203:29:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 6779,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5203:39:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6780,
                  "nodeType": "ExpressionStatement",
                  "src": "5203:39:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6782,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6768,
                        "src": "5321:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6781,
                      "name": "_afterUnlockBundle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7257,
                      "src": "5302:18:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6783,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5302:28:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6784,
                  "nodeType": "ExpressionStatement",
                  "src": "5302:28:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6786,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6768,
                        "src": "5372:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6785,
                      "name": "LogRiskpoolBundleUnlocked",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6451,
                      "src": "5346:25:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6787,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5346:35:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6788,
                  "nodeType": "EmitStatement",
                  "src": "5341:40:58"
                }
              ]
            },
            "functionSelector": "316c5348",
            "id": 6790,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6772,
                    "name": "bundleId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6768,
                    "src": "5179:8:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 6773,
                "modifierName": {
                  "id": 6771,
                  "name": "onlyBundleOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6535,
                  "src": "5163:15:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "5163:25:58"
              }
            ],
            "name": "unlockBundle",
            "nameLocation": "5098:12:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6770,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5146:8:58"
            },
            "parameters": {
              "id": 6769,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6768,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "5119:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6790,
                  "src": "5111:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6767,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5111:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5110:18:58"
            },
            "returnParameters": {
              "id": 6774,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5193:0:58"
            },
            "scope": 7300,
            "src": "5089:299:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14455
            ],
            "body": {
              "id": 6813,
              "nodeType": "Block",
              "src": "5497:191:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6802,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6792,
                        "src": "5536:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6799,
                        "name": "_riskpoolService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6473,
                        "src": "5507:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                          "typeString": "contract IRiskpoolService"
                        }
                      },
                      "id": 6801,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "closeBundle",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14991,
                      "src": "5507:28:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 6803,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5507:38:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6804,
                  "nodeType": "ExpressionStatement",
                  "src": "5507:38:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6806,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6792,
                        "src": "5623:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6805,
                      "name": "_afterCloseBundle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7263,
                      "src": "5605:17:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6807,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5605:27:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6808,
                  "nodeType": "ExpressionStatement",
                  "src": "5605:27:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6810,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6792,
                        "src": "5672:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6809,
                      "name": "LogRiskpoolBundleClosed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6455,
                      "src": "5648:23:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6811,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5648:33:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6812,
                  "nodeType": "EmitStatement",
                  "src": "5643:38:58"
                }
              ]
            },
            "functionSelector": "8c483e5a",
            "id": 6814,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6796,
                    "name": "bundleId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6792,
                    "src": "5483:8:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 6797,
                "modifierName": {
                  "id": 6795,
                  "name": "onlyBundleOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6535,
                  "src": "5467:15:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "5467:25:58"
              }
            ],
            "name": "closeBundle",
            "nameLocation": "5403:11:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6794,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5450:8:58"
            },
            "parameters": {
              "id": 6793,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6792,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "5423:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6814,
                  "src": "5415:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6791,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5415:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5414:18:58"
            },
            "returnParameters": {
              "id": 6798,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5497:0:58"
            },
            "scope": 7300,
            "src": "5394:294:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14460
            ],
            "body": {
              "id": 6837,
              "nodeType": "Block",
              "src": "5796:189:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6826,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6816,
                        "src": "5834:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6823,
                        "name": "_riskpoolService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6473,
                        "src": "5806:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                          "typeString": "contract IRiskpoolService"
                        }
                      },
                      "id": 6825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "burnBundle",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14996,
                      "src": "5806:27:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 6827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5806:37:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6828,
                  "nodeType": "ExpressionStatement",
                  "src": "5806:37:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6830,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6816,
                        "src": "5920:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6829,
                      "name": "_afterBurnBundle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7269,
                      "src": "5903:16:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6831,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5903:26:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6832,
                  "nodeType": "ExpressionStatement",
                  "src": "5903:26:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6834,
                        "name": "bundleId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6816,
                        "src": "5969:8:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6833,
                      "name": "LogRiskpoolBundleBurned",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6459,
                      "src": "5945:23:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6835,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5945:33:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6836,
                  "nodeType": "EmitStatement",
                  "src": "5940:38:58"
                }
              ]
            },
            "functionSelector": "587e59d0",
            "id": 6838,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 6820,
                    "name": "bundleId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6816,
                    "src": "5782:8:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                ],
                "id": 6821,
                "modifierName": {
                  "id": 6819,
                  "name": "onlyBundleOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6535,
                  "src": "5766:15:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "5766:25:58"
              }
            ],
            "name": "burnBundle",
            "nameLocation": "5703:10:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6818,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5749:8:58"
            },
            "parameters": {
              "id": 6817,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6816,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "5722:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6838,
                  "src": "5714:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6815,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5714:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5713:18:58"
            },
            "returnParameters": {
              "id": 6822,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5796:0:58"
            },
            "scope": 7300,
            "src": "5694:291:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14469
            ],
            "body": {
              "id": 6863,
              "nodeType": "Block",
              "src": "6144:152:58",
              "statements": [
                {
                  "expression": {
                    "id": 6855,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6850,
                      "name": "success",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6848,
                      "src": "6154:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6852,
                          "name": "processId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6840,
                          "src": "6180:9:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "id": 6853,
                          "name": "collateralAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6842,
                          "src": "6191:16:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 6851,
                        "name": "_lockCollateral",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7278,
                        "src": "6164:15:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                          "typeString": "function (bytes32,uint256) returns (bool)"
                        }
                      },
                      "id": 6854,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6164:44:58",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "6154:54:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6856,
                  "nodeType": "ExpressionStatement",
                  "src": "6154:54:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6858,
                        "name": "processId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6840,
                        "src": "6252:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 6859,
                        "name": "collateralAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6842,
                        "src": "6263:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6860,
                        "name": "success",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6848,
                        "src": "6281:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 6857,
                      "name": "LogRiskpoolCollateralLocked",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14395,
                      "src": "6224:27:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (bytes32,uint256,bool)"
                      }
                    },
                    "id": 6861,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6224:65:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6862,
                  "nodeType": "EmitStatement",
                  "src": "6219:70:58"
                }
              ]
            },
            "functionSelector": "890fbf78",
            "id": 6864,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 6846,
                "modifierName": {
                  "id": 6845,
                  "name": "onlyPool",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6503,
                  "src": "6100:8:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "6100:8:58"
              }
            ],
            "name": "collateralizePolicy",
            "nameLocation": "6000:19:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6844,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6083:8:58"
            },
            "parameters": {
              "id": 6843,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6840,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "6028:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6864,
                  "src": "6020:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6839,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6020:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6842,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "6047:16:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6864,
                  "src": "6039:24:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6841,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6039:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6019:45:58"
            },
            "returnParameters": {
              "id": 6849,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6848,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "6130:7:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6864,
                  "src": "6125:12:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6847,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6125:4:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6124:14:58"
            },
            "scope": 7300,
            "src": "5991:305:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14483
            ],
            "body": {
              "id": 6884,
              "nodeType": "Block",
              "src": "6413:110:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6875,
                        "name": "processId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6866,
                        "src": "6438:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 6876,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6868,
                        "src": "6449:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6874,
                      "name": "_processPayout",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7292,
                      "src": "6423:14:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,uint256)"
                      }
                    },
                    "id": 6877,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6423:33:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6878,
                  "nodeType": "ExpressionStatement",
                  "src": "6423:33:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6880,
                        "name": "processId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6866,
                        "src": "6498:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 6881,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6868,
                        "src": "6509:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6879,
                      "name": "LogRiskpoolPayoutProcessed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14407,
                      "src": "6471:26:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,uint256)"
                      }
                    },
                    "id": 6882,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6471:45:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6883,
                  "nodeType": "EmitStatement",
                  "src": "6466:50:58"
                }
              ]
            },
            "functionSelector": "82558906",
            "id": 6885,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 6872,
                "modifierName": {
                  "id": 6871,
                  "name": "onlyPool",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6503,
                  "src": "6400:8:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "6400:8:58"
              }
            ],
            "name": "processPolicyPayout",
            "nameLocation": "6311:19:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6870,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6383:8:58"
            },
            "parameters": {
              "id": 6869,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6866,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "6339:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6885,
                  "src": "6331:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6865,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6331:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6868,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "6358:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6885,
                  "src": "6350:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6867,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6350:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6330:35:58"
            },
            "returnParameters": {
              "id": 6873,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6413:0:58"
            },
            "scope": 7300,
            "src": "6302:221:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14476
            ],
            "body": {
              "id": 6905,
              "nodeType": "Block",
              "src": "6641:112:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6896,
                        "name": "processId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6887,
                        "src": "6667:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 6897,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6889,
                        "src": "6678:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6895,
                      "name": "_processPremium",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7285,
                      "src": "6651:15:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,uint256)"
                      }
                    },
                    "id": 6898,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6651:34:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6899,
                  "nodeType": "ExpressionStatement",
                  "src": "6651:34:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6901,
                        "name": "processId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6887,
                        "src": "6728:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 6902,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6889,
                        "src": "6739:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6900,
                      "name": "LogRiskpoolPremiumProcessed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14401,
                      "src": "6700:27:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,uint256)"
                      }
                    },
                    "id": 6903,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6700:46:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6904,
                  "nodeType": "EmitStatement",
                  "src": "6695:51:58"
                }
              ]
            },
            "functionSelector": "3629c3c4",
            "id": 6906,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 6893,
                "modifierName": {
                  "id": 6892,
                  "name": "onlyPool",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6503,
                  "src": "6628:8:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "6628:8:58"
              }
            ],
            "name": "processPolicyPremium",
            "nameLocation": "6538:20:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6891,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6611:8:58"
            },
            "parameters": {
              "id": 6890,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6887,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "6567:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6906,
                  "src": "6559:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6886,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6559:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6889,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "6586:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6906,
                  "src": "6578:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6888,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6578:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6558:35:58"
            },
            "returnParameters": {
              "id": 6894,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6641:0:58"
            },
            "scope": 7300,
            "src": "6529:224:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14488
            ],
            "body": {
              "id": 6925,
              "nodeType": "Block",
              "src": "6849:146:58",
              "statements": [
                {
                  "assignments": [
                    6915
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6915,
                      "mutability": "mutable",
                      "name": "collateralAmount",
                      "nameLocation": "6867:16:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 6925,
                      "src": "6859:24:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 6914,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "6859:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6919,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 6917,
                        "name": "processId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6908,
                        "src": "6905:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 6916,
                      "name": "_releaseCollateral",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7299,
                      "src": "6886:18:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_uint256_$",
                        "typeString": "function (bytes32) returns (uint256)"
                      }
                    },
                    "id": 6918,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6886:29:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6859:56:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6921,
                        "name": "processId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6908,
                        "src": "6960:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 6922,
                        "name": "collateralAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6915,
                        "src": "6971:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6920,
                      "name": "LogRiskpoolCollateralReleased",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14413,
                      "src": "6930:29:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (bytes32,uint256)"
                      }
                    },
                    "id": 6923,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6930:58:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6924,
                  "nodeType": "EmitStatement",
                  "src": "6925:63:58"
                }
              ]
            },
            "functionSelector": "c3004c86",
            "id": 6926,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 6912,
                "modifierName": {
                  "id": 6911,
                  "name": "onlyPool",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6503,
                  "src": "6836:8:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "6836:8:58"
              }
            ],
            "name": "releasePolicy",
            "nameLocation": "6768:13:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6910,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6819:8:58"
            },
            "parameters": {
              "id": 6909,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6908,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "6790:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6926,
                  "src": "6782:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 6907,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6782:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6781:19:58"
            },
            "returnParameters": {
              "id": 6913,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6849:0:58"
            },
            "scope": 7300,
            "src": "6759:236:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14579
            ],
            "body": {
              "id": 6954,
              "nodeType": "Block",
              "src": "7126:440:58",
              "statements": [
                {
                  "assignments": [
                    6935
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6935,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "7241:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 6954,
                      "src": "7233:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 6934,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "7233:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6938,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 6936,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "7254:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 6937,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7254:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7233:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6942,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6935,
                        "src": "7320:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6943,
                        "name": "maximumNumberOfActiveBundles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6928,
                        "src": "7332:28:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6939,
                        "name": "_riskpoolService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6473,
                        "src": "7271:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                          "typeString": "contract IRiskpoolService"
                        }
                      },
                      "id": 6941,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setMaximumNumberOfActiveBundles",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 15039,
                      "src": "7271:48:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256) external"
                      }
                    },
                    "id": 6944,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7271:90:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6945,
                  "nodeType": "ExpressionStatement",
                  "src": "7271:90:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6947,
                        "name": "maximumNumberOfActiveBundles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6928,
                        "src": "7450:28:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6946,
                      "name": "_afterSetMaximumActiveBundles",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7219,
                      "src": "7420:29:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6948,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7420:59:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6949,
                  "nodeType": "ExpressionStatement",
                  "src": "7420:59:58"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 6951,
                        "name": "maximumNumberOfActiveBundles",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6928,
                        "src": "7530:28:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6950,
                      "name": "LogMaximumNumberOfActiveBundlesSet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6431,
                      "src": "7495:34:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 6952,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7495:64:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6953,
                  "nodeType": "EmitStatement",
                  "src": "7490:69:58"
                }
              ]
            },
            "functionSelector": "652028e5",
            "id": 6955,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 6932,
                "modifierName": {
                  "id": 6931,
                  "name": "onlyOwner",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 9395,
                  "src": "7112:9:58"
                },
                "nodeType": "ModifierInvocation",
                "src": "7112:9:58"
              }
            ],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "7010:31:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6930,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7095:8:58"
            },
            "parameters": {
              "id": 6929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6928,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "7050:28:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6955,
                  "src": "7042:36:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6927,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7042:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7041:38:58"
            },
            "returnParameters": {
              "id": 6933,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7126:0:58"
            },
            "scope": 7300,
            "src": "7001:565:58",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14584
            ],
            "body": {
              "id": 6971,
              "nodeType": "Block",
              "src": "7702:122:58",
              "statements": [
                {
                  "assignments": [
                    6962
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6962,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "7720:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 6971,
                      "src": "7712:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 6961,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "7712:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6965,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 6963,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "7733:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 6964,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7733:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7712:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6968,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6962,
                        "src": "7806:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6966,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "7757:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 6967,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getMaximumNumberOfActiveBundles",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14814,
                      "src": "7757:48:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 6969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7757:60:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6960,
                  "id": 6970,
                  "nodeType": "Return",
                  "src": "7750:67:58"
                }
              ]
            },
            "functionSelector": "7f3b6980",
            "id": 6972,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getMaximumNumberOfActiveBundles",
            "nameLocation": "7581:31:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6957,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7635:8:58"
            },
            "parameters": {
              "id": 6956,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7612:2:58"
            },
            "returnParameters": {
              "id": 6960,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6959,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "7668:28:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 6972,
                  "src": "7660:36:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6958,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7660:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7659:38:58"
            },
            "scope": 7300,
            "src": "7572:252:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14544
            ],
            "body": {
              "id": 6980,
              "nodeType": "Block",
              "src": "7889:31:58",
              "statements": [
                {
                  "expression": {
                    "id": 6978,
                    "name": "_wallet",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6481,
                    "src": "7906:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 6977,
                  "id": 6979,
                  "nodeType": "Return",
                  "src": "7899:14:58"
                }
              ]
            },
            "functionSelector": "13299604",
            "id": 6981,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getWallet",
            "nameLocation": "7839:9:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6974,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7863:8:58"
            },
            "parameters": {
              "id": 6973,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7848:2:58"
            },
            "returnParameters": {
              "id": 6977,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6976,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6981,
                  "src": "7880:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6975,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7880:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7879:9:58"
            },
            "scope": 7300,
            "src": "7830:90:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14549
            ],
            "body": {
              "id": 6989,
              "nodeType": "Block",
              "src": "7989:35:58",
              "statements": [
                {
                  "expression": {
                    "id": 6987,
                    "name": "_erc20Token",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6483,
                    "src": "8006:11:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 6986,
                  "id": 6988,
                  "nodeType": "Return",
                  "src": "7999:18:58"
                }
              ]
            },
            "functionSelector": "feb1824b",
            "id": 6990,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getErc20Token",
            "nameLocation": "7935:13:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6983,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "7963:8:58"
            },
            "parameters": {
              "id": 6982,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7948:2:58"
            },
            "returnParameters": {
              "id": 6986,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6985,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6990,
                  "src": "7980:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6984,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7980:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7979:9:58"
            },
            "scope": 7300,
            "src": "7926:98:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14554
            ],
            "body": {
              "id": 6998,
              "nodeType": "Block",
              "src": "8102:43:58",
              "statements": [
                {
                  "expression": {
                    "id": 6996,
                    "name": "_sumOfSumInsuredCap",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6487,
                    "src": "8119:19:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6995,
                  "id": 6997,
                  "nodeType": "Return",
                  "src": "8112:26:58"
                }
              ]
            },
            "functionSelector": "a18aa128",
            "id": 6999,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getSumOfSumInsuredCap",
            "nameLocation": "8039:21:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 6992,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8075:8:58"
            },
            "parameters": {
              "id": 6991,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8060:2:58"
            },
            "returnParameters": {
              "id": 6995,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6994,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6999,
                  "src": "8093:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6993,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8093:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8092:9:58"
            },
            "scope": 7300,
            "src": "8030:115:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14498
            ],
            "body": {
              "id": 7007,
              "nodeType": "Block",
              "src": "8231:52:58",
              "statements": [
                {
                  "expression": {
                    "id": 7005,
                    "name": "FULL_COLLATERALIZATION_LEVEL",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6464,
                    "src": "8248:28:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7004,
                  "id": 7006,
                  "nodeType": "Return",
                  "src": "8241:35:58"
                }
              ]
            },
            "functionSelector": "f1d354d0",
            "id": 7008,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getFullCollateralizationLevel",
            "nameLocation": "8160:29:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7001,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8204:8:58"
            },
            "parameters": {
              "id": 7000,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8189:2:58"
            },
            "returnParameters": {
              "id": 7004,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7003,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7008,
                  "src": "8222:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7002,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8222:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8221:9:58"
            },
            "scope": 7300,
            "src": "8151:132:58",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14493
            ],
            "body": {
              "id": 7016,
              "nodeType": "Block",
              "src": "8365:42:58",
              "statements": [
                {
                  "expression": {
                    "id": 7014,
                    "name": "_collateralization",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6485,
                    "src": "8382:18:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7013,
                  "id": 7015,
                  "nodeType": "Return",
                  "src": "8375:25:58"
                }
              ]
            },
            "functionSelector": "54afef63",
            "id": 7017,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getCollateralizationLevel",
            "nameLocation": "8298:25:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7010,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8338:8:58"
            },
            "parameters": {
              "id": 7009,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8323:2:58"
            },
            "returnParameters": {
              "id": 7013,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7012,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7017,
                  "src": "8356:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7011,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8356:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8355:9:58"
            },
            "scope": 7300,
            "src": "8289:118:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14519
            ],
            "body": {
              "id": 7026,
              "nodeType": "Block",
              "src": "8470:41:58",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "id": 7023,
                      "name": "_bundleIds",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6479,
                      "src": "8487:10:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 7024,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "src": "8487:17:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7022,
                  "id": 7025,
                  "nodeType": "Return",
                  "src": "8480:24:58"
                }
              ]
            },
            "functionSelector": "18442e63",
            "id": 7027,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "bundles",
            "nameLocation": "8422:7:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7019,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8439:8:58"
            },
            "parameters": {
              "id": 7018,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8429:2:58"
            },
            "returnParameters": {
              "id": 7022,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7021,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7027,
                  "src": "8461:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7020,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8461:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8460:9:58"
            },
            "scope": 7300,
            "src": "8413:98:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 7046,
              "nodeType": "Block",
              "src": "8591:121:58",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7038,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 7035,
                          "name": "idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7029,
                          "src": "8609:3:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "expression": {
                            "id": 7036,
                            "name": "_bundleIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6479,
                            "src": "8615:10:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                              "typeString": "uint256[] storage ref"
                            }
                          },
                          "id": 7037,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "8615:17:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "8609:23:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3030373a42554e444c455f494e4445585f544f4f5f4c41524745",
                        "id": 7039,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8634:38:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ea02e65aba05b03a4308930e153df8abf2e7fe455a268e96f351a554bd23f2bd",
                          "typeString": "literal_string \"ERROR:RPL-007:BUNDLE_INDEX_TOO_LARGE\""
                        },
                        "value": "ERROR:RPL-007:BUNDLE_INDEX_TOO_LARGE"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ea02e65aba05b03a4308930e153df8abf2e7fe455a268e96f351a554bd23f2bd",
                          "typeString": "literal_string \"ERROR:RPL-007:BUNDLE_INDEX_TOO_LARGE\""
                        }
                      ],
                      "id": 7034,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "8601:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7040,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8601:72:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7041,
                  "nodeType": "ExpressionStatement",
                  "src": "8601:72:58"
                },
                {
                  "expression": {
                    "baseExpression": {
                      "id": 7042,
                      "name": "_bundleIds",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6479,
                      "src": "8690:10:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 7044,
                    "indexExpression": {
                      "id": 7043,
                      "name": "idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7029,
                      "src": "8701:3:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "8690:15:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7033,
                  "id": 7045,
                  "nodeType": "Return",
                  "src": "8683:22:58"
                }
              ]
            },
            "functionSelector": "29a63083",
            "id": 7047,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getBundleId",
            "nameLocation": "8526:11:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7030,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7029,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "8546:3:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7047,
                  "src": "8538:11:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7028,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8538:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8537:13:58"
            },
            "returnParameters": {
              "id": 7033,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7032,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "8581:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7047,
                  "src": "8573:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7031,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8573:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8572:18:58"
            },
            "scope": 7300,
            "src": "8517:195:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14527
            ],
            "body": {
              "id": 7056,
              "nodeType": "Block",
              "src": "8853:2:58",
              "statements": []
            },
            "functionSelector": "2d0821b7",
            "id": 7057,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getBundle",
            "nameLocation": "8776:9:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7051,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8808:8:58"
            },
            "parameters": {
              "id": 7050,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7049,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "8794:3:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7057,
                  "src": "8786:11:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7048,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8786:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8785:13:58"
            },
            "returnParameters": {
              "id": 7055,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7054,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7057,
                  "src": "8830:21:58",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 7053,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7052,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13298,
                      "src": "8830:14:58"
                    },
                    "referencedDeclaration": 13298,
                    "src": "8830:14:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$13298_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8829:23:58"
            },
            "scope": 7300,
            "src": "8767:88:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14532
            ],
            "body": {
              "id": 7073,
              "nodeType": "Block",
              "src": "8924:104:58",
              "statements": [
                {
                  "assignments": [
                    7064
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7064,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "8942:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 7073,
                      "src": "8934:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7063,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8934:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7067,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7065,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "8955:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 7066,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8955:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8934:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7070,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7064,
                        "src": "9010:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7068,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "8979:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 7069,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "activeBundles",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14798,
                      "src": "8979:30:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7071,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8979:42:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7062,
                  "id": 7072,
                  "nodeType": "Return",
                  "src": "8972:49:58"
                }
              ]
            },
            "functionSelector": "4101b90c",
            "id": 7074,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "activeBundles",
            "nameLocation": "8870:13:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7059,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "8893:8:58"
            },
            "parameters": {
              "id": 7058,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8883:2:58"
            },
            "returnParameters": {
              "id": 7062,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7061,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7074,
                  "src": "8915:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7060,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8915:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8914:9:58"
            },
            "scope": 7300,
            "src": "8861:167:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14539
            ],
            "body": {
              "id": 7103,
              "nodeType": "Block",
              "src": "9121:228:58",
              "statements": [
                {
                  "assignments": [
                    7083
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7083,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "9139:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 7103,
                      "src": "9131:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7082,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9131:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7086,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7084,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "9152:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 7085,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9152:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9131:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7093,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 7088,
                          "name": "idx",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7076,
                          "src": "9177:3:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 7091,
                              "name": "riskpoolId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7083,
                              "src": "9214:10:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 7089,
                              "name": "_instanceService",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6470,
                              "src": "9183:16:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IInstanceService_$14934",
                                "typeString": "contract IInstanceService"
                              }
                            },
                            "id": 7090,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "activeBundles",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 14798,
                            "src": "9183:30:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (uint256) view external returns (uint256)"
                            }
                          },
                          "id": 7092,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9183:42:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "9177:48:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3030383a4143544956455f42554e444c455f494e4445585f544f4f5f4c41524745",
                        "id": 7094,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9227:45:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2968658c780ce0e65541e2ce35bafd2b1263178da65fd5797351adc217ce37ec",
                          "typeString": "literal_string \"ERROR:RPL-008:ACTIVE_BUNDLE_INDEX_TOO_LARGE\""
                        },
                        "value": "ERROR:RPL-008:ACTIVE_BUNDLE_INDEX_TOO_LARGE"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2968658c780ce0e65541e2ce35bafd2b1263178da65fd5797351adc217ce37ec",
                          "typeString": "literal_string \"ERROR:RPL-008:ACTIVE_BUNDLE_INDEX_TOO_LARGE\""
                        }
                      ],
                      "id": 7087,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "9169:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7095,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9169:104:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7096,
                  "nodeType": "ExpressionStatement",
                  "src": "9169:104:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7099,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7083,
                        "src": "9326:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 7100,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7076,
                        "src": "9338:3:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7097,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "9291:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 7098,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getActiveBundleId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14807,
                      "src": "9291:34:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256,uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7101,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9291:51:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7081,
                  "id": 7102,
                  "nodeType": "Return",
                  "src": "9284:58:58"
                }
              ]
            },
            "functionSelector": "0676cb0e",
            "id": 7104,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getActiveBundleId",
            "nameLocation": "9043:17:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7078,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9081:8:58"
            },
            "parameters": {
              "id": 7077,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7076,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "9069:3:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7104,
                  "src": "9061:11:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7075,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9061:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9060:13:58"
            },
            "returnParameters": {
              "id": 7081,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7080,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "9111:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7104,
                  "src": "9103:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7079,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9103:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9102:18:58"
            },
            "scope": 7300,
            "src": "9034:315:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14514
            ],
            "body": {
              "id": 7112,
              "nodeType": "Block",
              "src": "9443:53:58",
              "statements": [
                {
                  "expression": {
                    "id": 7110,
                    "name": "DEFAULT_FILTER_DATA_STRUCTURE",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6467,
                    "src": "9460:29:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 7109,
                  "id": 7111,
                  "nodeType": "Return",
                  "src": "9453:36:58"
                }
              ]
            },
            "functionSelector": "3dcdde17",
            "id": 7113,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getFilterDataStructure",
            "nameLocation": "9364:22:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7106,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9398:8:58"
            },
            "parameters": {
              "id": 7105,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9386:2:58"
            },
            "returnParameters": {
              "id": 7109,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7108,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7113,
                  "src": "9428:13:58",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7107,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9428:6:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9427:15:58"
            },
            "scope": 7300,
            "src": "9355:141:58",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              14559
            ],
            "body": {
              "id": 7129,
              "nodeType": "Block",
              "src": "9562:101:58",
              "statements": [
                {
                  "assignments": [
                    7120
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7120,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "9580:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 7129,
                      "src": "9572:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7119,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9572:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7123,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7121,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "9593:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 7122,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9593:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9572:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7126,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7120,
                        "src": "9645:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7124,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "9617:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 7125,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getCapital",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14770,
                      "src": "9617:27:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7127,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9617:39:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7118,
                  "id": 7128,
                  "nodeType": "Return",
                  "src": "9610:46:58"
                }
              ]
            },
            "functionSelector": "e0032383",
            "id": 7130,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getCapital",
            "nameLocation": "9511:10:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7115,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9531:8:58"
            },
            "parameters": {
              "id": 7114,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9521:2:58"
            },
            "returnParameters": {
              "id": 7118,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7117,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7130,
                  "src": "9553:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7116,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9553:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9552:9:58"
            },
            "scope": 7300,
            "src": "9502:161:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14564
            ],
            "body": {
              "id": 7146,
              "nodeType": "Block",
              "src": "9738:110:58",
              "statements": [
                {
                  "assignments": [
                    7137
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7137,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "9756:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 7146,
                      "src": "9748:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7136,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9748:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7140,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7138,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "9769:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 7139,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9769:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9748:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7143,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7137,
                        "src": "9830:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7141,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "9793:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 7142,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getTotalValueLocked",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14777,
                      "src": "9793:36:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9793:48:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7135,
                  "id": 7145,
                  "nodeType": "Return",
                  "src": "9786:55:58"
                }
              ]
            },
            "functionSelector": "b26025aa",
            "id": 7147,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalValueLocked",
            "nameLocation": "9678:19:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7132,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9707:8:58"
            },
            "parameters": {
              "id": 7131,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9697:2:58"
            },
            "returnParameters": {
              "id": 7135,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7134,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7147,
                  "src": "9729:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7133,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9729:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9728:9:58"
            },
            "scope": 7300,
            "src": "9669:179:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14569
            ],
            "body": {
              "id": 7163,
              "nodeType": "Block",
              "src": "9915:102:58",
              "statements": [
                {
                  "assignments": [
                    7154
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7154,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "9933:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 7163,
                      "src": "9925:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7153,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9925:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7157,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7155,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "9946:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 7156,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9946:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9925:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7160,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7154,
                        "src": "9999:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7158,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "9970:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 7159,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getCapacity",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14784,
                      "src": "9970:28:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7161,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9970:40:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7152,
                  "id": 7162,
                  "nodeType": "Return",
                  "src": "9963:47:58"
                }
              ]
            },
            "functionSelector": "c40000d4",
            "id": 7164,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getCapacity",
            "nameLocation": "9863:11:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7149,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "9884:8:58"
            },
            "parameters": {
              "id": 7148,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9874:2:58"
            },
            "returnParameters": {
              "id": 7152,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7151,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7164,
                  "src": "9906:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7150,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9906:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9905:9:58"
            },
            "scope": 7300,
            "src": "9854:163:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14574
            ],
            "body": {
              "id": 7180,
              "nodeType": "Block",
              "src": "10083:101:58",
              "statements": [
                {
                  "assignments": [
                    7171
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7171,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "10101:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 7180,
                      "src": "10093:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7170,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10093:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7174,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7172,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "10114:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 7173,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10114:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10093:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7177,
                        "name": "riskpoolId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7171,
                        "src": "10166:10:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 7175,
                        "name": "_instanceService",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6470,
                        "src": "10138:16:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IInstanceService_$14934",
                          "typeString": "contract IInstanceService"
                        }
                      },
                      "id": 7176,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getBalance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14791,
                      "src": "10138:27:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 7178,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10138:39:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 7169,
                  "id": 7179,
                  "nodeType": "Return",
                  "src": "10131:46:58"
                }
              ]
            },
            "functionSelector": "12065fe0",
            "id": 7181,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getBalance",
            "nameLocation": "10032:10:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7166,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10052:8:58"
            },
            "parameters": {
              "id": 7165,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10042:2:58"
            },
            "returnParameters": {
              "id": 7169,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7168,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7181,
                  "src": "10074:7:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7167,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10074:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10073:9:58"
            },
            "scope": 7300,
            "src": "10023:161:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14509
            ],
            "functionSelector": "86c71288",
            "id": 7193,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundleMatchesApplication",
            "nameLocation": "10275:24:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7189,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10400:8:58"
            },
            "parameters": {
              "id": 7188,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7184,
                  "mutability": "mutable",
                  "name": "bundle",
                  "nameLocation": "10331:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7193,
                  "src": "10309:28:58",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 7183,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7182,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13298,
                      "src": "10309:14:58"
                    },
                    "referencedDeclaration": 13298,
                    "src": "10309:14:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$13298_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7187,
                  "mutability": "mutable",
                  "name": "application",
                  "nameLocation": "10375:11:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7193,
                  "src": "10348:38:58",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Application_$12478_memory_ptr",
                    "typeString": "struct IPolicy.Application"
                  },
                  "typeName": {
                    "id": 7186,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7185,
                      "name": "IPolicy.Application",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12478,
                      "src": "10348:19:58"
                    },
                    "referencedDeclaration": 12478,
                    "src": "10348:19:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Application_$12478_storage_ptr",
                      "typeString": "struct IPolicy.Application"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10299:93:58"
            },
            "returnParameters": {
              "id": 7192,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7191,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "10435:10:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7193,
                  "src": "10430:15:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7190,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "10430:4:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10429:17:58"
            },
            "scope": 7300,
            "src": "10266:181:58",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              14299
            ],
            "body": {
              "id": 7212,
              "nodeType": "Block",
              "src": "10501:198:58",
              "statements": [
                {
                  "assignments": [
                    7198
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7198,
                      "mutability": "mutable",
                      "name": "riskpoolId",
                      "nameLocation": "10520:10:58",
                      "nodeType": "VariableDeclaration",
                      "scope": 7212,
                      "src": "10512:18:58",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7197,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10512:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7201,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 7199,
                      "name": "getId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14105,
                      "src": "10533:5:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      }
                    },
                    "id": 7200,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10533:7:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10512:28:58"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 7208,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 7205,
                              "name": "riskpoolId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7198,
                              "src": "10603:10:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 7203,
                              "name": "_instanceService",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6470,
                              "src": "10571:16:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IInstanceService_$14934",
                                "typeString": "contract IInstanceService"
                              }
                            },
                            "id": 7204,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "unburntBundles",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 14840,
                            "src": "10571:31:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (uint256) view external returns (uint256)"
                            }
                          },
                          "id": 7206,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10571:43:58",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 7207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10618:1:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "10571:48:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4552524f523a52504c2d3031303a5249534b504f4f4c5f4841535f554e4255524e545f42554e444c4553",
                        "id": 7209,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10634:44:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a2626045118232e735558df751611285d72ec20b7c63057376deea8c67275d7a",
                          "typeString": "literal_string \"ERROR:RPL-010:RISKPOOL_HAS_UNBURNT_BUNDLES\""
                        },
                        "value": "ERROR:RPL-010:RISKPOOL_HAS_UNBURNT_BUNDLES"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a2626045118232e735558df751611285d72ec20b7c63057376deea8c67275d7a",
                          "typeString": "literal_string \"ERROR:RPL-010:RISKPOOL_HAS_UNBURNT_BUNDLES\""
                        }
                      ],
                      "id": 7202,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "10550:7:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7210,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10550:142:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7211,
                  "nodeType": "ExpressionStatement",
                  "src": "10550:142:58"
                }
              ]
            },
            "id": 7213,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterArchive",
            "nameLocation": "10462:13:58",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 7195,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "10492:8:58"
            },
            "parameters": {
              "id": 7194,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10475:2:58"
            },
            "returnParameters": {
              "id": 7196,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10501:0:58"
            },
            "scope": 7300,
            "src": "10453:246:58",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7218,
              "nodeType": "Block",
              "src": "10832:2:58",
              "statements": []
            },
            "id": 7219,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterSetMaximumActiveBundles",
            "nameLocation": "10760:29:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7216,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7215,
                  "mutability": "mutable",
                  "name": "numberOfBundles",
                  "nameLocation": "10798:15:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7219,
                  "src": "10790:23:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7214,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10790:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10789:25:58"
            },
            "returnParameters": {
              "id": 7217,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10832:0:58"
            },
            "scope": 7300,
            "src": "10751:83:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7228,
              "nodeType": "Block",
              "src": "10946:2:58",
              "statements": []
            },
            "id": 7229,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterCreateBundle",
            "nameLocation": "10848:18:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7226,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7221,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "10875:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7229,
                  "src": "10867:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7220,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10867:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7223,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "10898:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7229,
                  "src": "10885:19:58",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 7222,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "10885:5:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7225,
                  "mutability": "mutable",
                  "name": "initialAmount",
                  "nameLocation": "10914:13:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7229,
                  "src": "10906:21:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7224,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10906:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10866:62:58"
            },
            "returnParameters": {
              "id": 7227,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10946:0:58"
            },
            "scope": 7300,
            "src": "10839:109:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7236,
              "nodeType": "Block",
              "src": "11030:2:58",
              "statements": []
            },
            "id": 7237,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterFundBundle",
            "nameLocation": "10962:16:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7234,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7231,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "10987:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7237,
                  "src": "10979:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7230,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10979:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7233,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "11005:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7237,
                  "src": "10997:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7232,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10997:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10978:34:58"
            },
            "returnParameters": {
              "id": 7235,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11030:0:58"
            },
            "scope": 7300,
            "src": "10953:79:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7244,
              "nodeType": "Block",
              "src": "11116:2:58",
              "statements": []
            },
            "id": 7245,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterDefundBundle",
            "nameLocation": "11046:18:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7242,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7239,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "11073:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7245,
                  "src": "11065:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7238,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11065:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7241,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "11091:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7245,
                  "src": "11083:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7240,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11083:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11064:34:58"
            },
            "returnParameters": {
              "id": 7243,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11116:0:58"
            },
            "scope": 7300,
            "src": "11037:81:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7250,
              "nodeType": "Block",
              "src": "11185:2:58",
              "statements": []
            },
            "id": 7251,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterLockBundle",
            "nameLocation": "11133:16:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7248,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7247,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "11158:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7251,
                  "src": "11150:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7246,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11150:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11149:18:58"
            },
            "returnParameters": {
              "id": 7249,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11185:0:58"
            },
            "scope": 7300,
            "src": "11124:63:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7256,
              "nodeType": "Block",
              "src": "11255:2:58",
              "statements": []
            },
            "id": 7257,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterUnlockBundle",
            "nameLocation": "11201:18:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7254,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7253,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "11228:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7257,
                  "src": "11220:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7252,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11220:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11219:18:58"
            },
            "returnParameters": {
              "id": 7255,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11255:0:58"
            },
            "scope": 7300,
            "src": "11192:65:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7262,
              "nodeType": "Block",
              "src": "11324:2:58",
              "statements": []
            },
            "id": 7263,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterCloseBundle",
            "nameLocation": "11271:17:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7260,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7259,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "11297:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7263,
                  "src": "11289:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7258,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11289:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11288:18:58"
            },
            "returnParameters": {
              "id": 7261,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11324:0:58"
            },
            "scope": 7300,
            "src": "11262:64:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 7268,
              "nodeType": "Block",
              "src": "11392:2:58",
              "statements": []
            },
            "id": 7269,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_afterBurnBundle",
            "nameLocation": "11340:16:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7266,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7265,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "11365:8:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7269,
                  "src": "11357:16:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7264,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11357:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11356:18:58"
            },
            "returnParameters": {
              "id": 7267,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11392:0:58"
            },
            "scope": 7300,
            "src": "11331:63:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7278,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_lockCollateral",
            "nameLocation": "11476:15:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7274,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7271,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "11500:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7278,
                  "src": "11492:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7270,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11492:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7273,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "11519:16:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7278,
                  "src": "11511:24:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7272,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11511:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11491:45:58"
            },
            "returnParameters": {
              "id": 7277,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7276,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "11567:7:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7278,
                  "src": "11562:12:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7275,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "11562:4:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11561:14:58"
            },
            "scope": 7300,
            "src": "11467:109:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7285,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_processPremium",
            "nameLocation": "11590:15:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7283,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7280,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "11614:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7285,
                  "src": "11606:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7279,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11606:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7282,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "11633:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7285,
                  "src": "11625:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7281,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11625:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11605:35:58"
            },
            "returnParameters": {
              "id": 7284,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11657:0:58"
            },
            "scope": 7300,
            "src": "11581:77:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7292,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_processPayout",
            "nameLocation": "11672:14:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7290,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7287,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "11695:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7292,
                  "src": "11687:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7286,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11687:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7289,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "11714:6:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7292,
                  "src": "11706:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7288,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11706:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11686:35:58"
            },
            "returnParameters": {
              "id": 7291,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11738:0:58"
            },
            "scope": 7300,
            "src": "11663:76:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7299,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_releaseCollateral",
            "nameLocation": "11753:18:58",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7295,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7294,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "11780:9:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7299,
                  "src": "11772:17:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7293,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "11772:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11771:19:58"
            },
            "returnParameters": {
              "id": 7298,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7297,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "11824:16:58",
                  "nodeType": "VariableDeclaration",
                  "scope": 7299,
                  "src": "11816:24:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7296,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11816:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11815:26:58"
            },
            "scope": 7300,
            "src": "11744:98:58",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "scope": 7301,
        "src": "616:11228:58"
      }
    ],
    "src": "39:11806:58"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "Riskpool2",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [
    "etherisc/gif-interface@3b0002a/Component",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Context",
    "etherisc/gif-interface@3b0002a/IAccess",
    "etherisc/gif-interface@3b0002a/IBundleToken",
    "etherisc/gif-interface@3b0002a/IComponent",
    "etherisc/gif-interface@3b0002a/IComponentEvents",
    "etherisc/gif-interface@3b0002a/IComponentOwnerService",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC165",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC20",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC721",
    "etherisc/gif-interface@3b0002a/IInstanceOperatorService",
    "etherisc/gif-interface@3b0002a/IInstanceService",
    "etherisc/gif-interface@3b0002a/IOracleService",
    "etherisc/gif-interface@3b0002a/IProductService",
    "etherisc/gif-interface@3b0002a/IRegistry",
    "etherisc/gif-interface@3b0002a/IRiskpool",
    "etherisc/gif-interface@3b0002a/IRiskpoolService",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/Ownable"
  ],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "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."
      },
      "transferOwnership(address)": {
        "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
      }
    },
    "version": 1
  },
  "offset": [
    616,
    11844
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "f2fbc86f27eb1265ee80251d503da7ee25535946",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\nimport \"@etherisc/gif-interface/contracts/components/IRiskpool.sol\";\nimport \"@etherisc/gif-interface/contracts/components/Component.sol\";\n\nimport \"@etherisc/gif-interface/contracts/modules/IBundle.sol\";\nimport \"@etherisc/gif-interface/contracts/modules/IPolicy.sol\";\nimport \"@etherisc/gif-interface/contracts/services/IInstanceService.sol\";\nimport \"@etherisc/gif-interface/contracts/services/IRiskpoolService.sol\";\n\n\nabstract contract Riskpool2 is \n    IRiskpool, \n    Component \n{    \n\n    // TODO move to IRiskpool\n    event LogMaximumNumberOfActiveBundlesSet(uint256 numberOfBundles);\n    event LogRiskpoolBundleFunded(uint256 bundleId, uint256 amount);\n    event LogRiskpoolBundleDefunded(uint256 bundleId, uint256 amount);\n\n    event LogRiskpoolBundleLocked(uint256 bundleId);\n    event LogRiskpoolBundleUnlocked(uint256 bundleId);\n    event LogRiskpoolBundleClosed(uint256 bundleId);\n    event LogRiskpoolBundleBurned(uint256 bundleId);\n\n    // used for representation of collateralization\n    // collateralization between 0 and 1 (1=100%) \n    // value might be larger when overcollateralization\n    uint256 public constant FULL_COLLATERALIZATION_LEVEL = 10**18;\n    string public constant DEFAULT_FILTER_DATA_STRUCTURE = \"\";\n\n    IInstanceService internal _instanceService; \n    IRiskpoolService internal _riskpoolService;\n    IERC721 internal _bundleToken;\n    \n    // keep track of bundles associated with this riskpool\n    uint256 [] internal _bundleIds;\n\n    address private _wallet;\n    address private _erc20Token;\n    uint256 private _collateralization;\n    uint256 private _sumOfSumInsuredCap;\n    uint256 private _maxNumberOfActiveBundles;\n\n    modifier onlyPool {\n        require(\n            _msgSender() == _getContractAddress(\"Pool\"),\n            \"ERROR:RPL-001:ACCESS_DENIED\"\n        );\n        _;\n    }\n\n    modifier onlyBundleOwner(uint256 bundleId) {\n        IBundle.Bundle memory bundle = _instanceService.getBundle(bundleId);\n        address bundleOwner = _bundleToken.ownerOf(bundle.tokenId);\n\n        require(\n            _msgSender() == bundleOwner,\n            \"ERROR:RPL-002:NOT_BUNDLE_OWNER\"\n        );\n        _;\n    }\n\n    constructor(\n        bytes32 name,\n        uint256 collateralization,\n        uint256 sumOfSumInsuredCap, // in full token units, eg 1 for 1 usdc\n        address erc20Token,\n        address wallet,\n        address registry\n    )\n        Component(name, ComponentType.Riskpool, registry)\n    { \n        _collateralization = collateralization;\n\n        require(sumOfSumInsuredCap != 0, \"ERROR:RPL-003:SUM_OF_SUM_INSURED_CAP_ZERO\");\n        _sumOfSumInsuredCap = sumOfSumInsuredCap;\n\n        require(erc20Token != address(0), \"ERROR:RPL-005:ERC20_ADDRESS_ZERO\");\n        _erc20Token = erc20Token;\n\n        require(wallet != address(0), \"ERROR:RPL-006:WALLET_ADDRESS_ZERO\");\n        _wallet = wallet;\n\n        _instanceService = IInstanceService(_getContractAddress(\"InstanceService\")); \n        _riskpoolService = IRiskpoolService(_getContractAddress(\"RiskpoolService\"));\n        _bundleToken = _instanceService.getBundleToken();\n    }\n\n    function _afterPropose() internal override virtual {\n        _riskpoolService.registerRiskpool(\n            _wallet,\n            _erc20Token, \n            _collateralization,\n            _sumOfSumInsuredCap\n        );\n    }\n\n    function createBundle(bytes memory filter, uint256 initialAmount) \n        public virtual override\n        returns(uint256 bundleId)\n    {\n        address bundleOwner = _msgSender();\n        bundleId = _riskpoolService.createBundle(bundleOwner, filter, initialAmount);\n        _bundleIds.push(bundleId);\n\n        // after action hook for child contracts\n        _afterCreateBundle(bundleId, filter, initialAmount);\n\n        emit LogRiskpoolBundleCreated(bundleId, initialAmount);\n    }\n\n    function fundBundle(uint256 bundleId, uint256 amount) \n        external override\n        onlyBundleOwner(bundleId)\n        returns(uint256 netAmount)\n    {\n        netAmount = _riskpoolService.fundBundle(bundleId, amount);\n\n        // after action hook for child contracts\n        _afterFundBundle(bundleId, amount);\n\n        emit LogRiskpoolBundleFunded(bundleId, amount);\n    }\n\n    function defundBundle(uint256 bundleId, uint256 amount)\n        external override\n        onlyBundleOwner(bundleId)\n        returns(uint256 netAmount)\n    {\n        netAmount = _riskpoolService.defundBundle(bundleId, amount);\n\n        // after action hook for child contracts\n        _afterDefundBundle(bundleId, amount);\n\n        emit LogRiskpoolBundleDefunded(bundleId, amount);\n    }\n\n    function lockBundle(uint256 bundleId)\n        external override\n        onlyBundleOwner(bundleId)\n    {\n        _riskpoolService.lockBundle(bundleId);\n\n        // after action hook for child contracts\n        _afterLockBundle(bundleId);\n\n        emit LogRiskpoolBundleLocked(bundleId);\n    }\n\n    function unlockBundle(uint256 bundleId)\n        external override\n        onlyBundleOwner(bundleId)\n    {\n        _riskpoolService.unlockBundle(bundleId);\n\n        // after action hook for child contracts\n        _afterUnlockBundle(bundleId);\n\n        emit LogRiskpoolBundleUnlocked(bundleId);\n    }\n\n    function closeBundle(uint256 bundleId)\n        external override\n        onlyBundleOwner(bundleId)\n    {\n        _riskpoolService.closeBundle(bundleId);\n\n        // after action hook for child contracts\n        _afterCloseBundle(bundleId);\n\n        emit LogRiskpoolBundleClosed(bundleId);\n    }\n\n    function burnBundle(uint256 bundleId)\n        external override\n        onlyBundleOwner(bundleId)\n    {\n        _riskpoolService.burnBundle(bundleId);\n\n        // after action hook for child contracts\n        _afterBurnBundle(bundleId);\n\n        emit LogRiskpoolBundleBurned(bundleId);\n    }\n\n    function collateralizePolicy(bytes32 processId, uint256 collateralAmount) \n        external override\n        onlyPool\n        returns(bool success) \n    {\n        success = _lockCollateral(processId, collateralAmount);\n\n        emit LogRiskpoolCollateralLocked(processId, collateralAmount, success);\n    }\n\n    function processPolicyPayout(bytes32 processId, uint256 amount)\n        external override\n        onlyPool\n    {\n        _processPayout(processId, amount);\n        emit LogRiskpoolPayoutProcessed(processId, amount);\n    }\n\n    function processPolicyPremium(bytes32 processId, uint256 amount)\n        external override\n        onlyPool\n    {\n        _processPremium(processId, amount);\n        emit LogRiskpoolPremiumProcessed(processId, amount);\n    }\n\n    function releasePolicy(bytes32 processId) \n        external override\n        onlyPool\n    {\n        uint256 collateralAmount = _releaseCollateral(processId);\n        emit LogRiskpoolCollateralReleased(processId, collateralAmount);\n    }\n\n    function setMaximumNumberOfActiveBundles(uint256 maximumNumberOfActiveBundles)\n        public override\n        onlyOwner\n    {\n        // TODO remove riskpoolId parameter in service method (and infer it from sender address)\n        uint256 riskpoolId = getId();\n        _riskpoolService.setMaximumNumberOfActiveBundles(riskpoolId, maximumNumberOfActiveBundles);\n        // after action hook for child contracts\n        _afterSetMaximumActiveBundles(maximumNumberOfActiveBundles);\n\n        emit LogMaximumNumberOfActiveBundlesSet(maximumNumberOfActiveBundles);\n    }\n\n    function getMaximumNumberOfActiveBundles()\n        public view override\n        returns(uint256 maximumNumberOfActiveBundles)\n    {\n        uint256 riskpoolId = getId();\n        return _instanceService.getMaximumNumberOfActiveBundles(riskpoolId);\n    }\n\n    function getWallet() public view override returns(address) {\n        return _wallet;\n    }\n\n    function getErc20Token() public view override returns(address) {\n        return _erc20Token;\n    }\n\n    function getSumOfSumInsuredCap() public view override returns (uint256) {\n        return _sumOfSumInsuredCap;\n    }\n\n    function getFullCollateralizationLevel() public pure override returns (uint256) {\n        return FULL_COLLATERALIZATION_LEVEL;\n    }\n\n    function getCollateralizationLevel() public view override returns (uint256) {\n        return _collateralization;\n    }\n\n    function bundles() public override view returns(uint256) {\n        return _bundleIds.length;\n    }\n\n    function getBundleId(uint256 idx) external view returns(uint256 bundleId) {\n        require(idx < _bundleIds.length, \"ERROR:RPL-007:BUNDLE_INDEX_TOO_LARGE\");\n        return _bundleIds[idx];\n    }\n\n    // empty implementation to satisfy IRiskpool\n    function getBundle(uint256 idx) external override view returns(IBundle.Bundle memory) {}\n\n    function activeBundles() public override view returns(uint256) {\n        uint256 riskpoolId = getId();\n        return _instanceService.activeBundles(riskpoolId);\n    }\n\n    function getActiveBundleId(uint256 idx) public override view returns(uint256 bundleId) {\n        uint256 riskpoolId = getId();\n        require(idx < _instanceService.activeBundles(riskpoolId), \"ERROR:RPL-008:ACTIVE_BUNDLE_INDEX_TOO_LARGE\");\n\n        return _instanceService.getActiveBundleId(riskpoolId, idx);\n    }\n\n    function getFilterDataStructure() external override virtual pure returns(string memory) {\n        return DEFAULT_FILTER_DATA_STRUCTURE;\n    }\n\n    function getCapital() public override view returns(uint256) {\n        uint256 riskpoolId = getId();\n        return _instanceService.getCapital(riskpoolId);\n    }\n\n    function getTotalValueLocked() public override view returns(uint256) {\n        uint256 riskpoolId = getId();\n        return _instanceService.getTotalValueLocked(riskpoolId);\n    }\n\n    function getCapacity() public override view returns(uint256) {\n        uint256 riskpoolId = getId();\n        return _instanceService.getCapacity(riskpoolId);\n    }\n\n    function getBalance() public override view returns(uint256) {\n        uint256 riskpoolId = getId();\n        return _instanceService.getBalance(riskpoolId);\n    }\n\n    // change: no longer view to allow for log entries in derived contracts\n    function bundleMatchesApplication(\n        IBundle.Bundle memory bundle, \n        IPolicy.Application memory application\n    ) public override virtual view returns(bool isMatching);\n\n    function _afterArchive() internal view override { \n        uint256 riskpoolId = getId();\n        require(\n            _instanceService.unburntBundles(riskpoolId) == 0, \n            \"ERROR:RPL-010:RISKPOOL_HAS_UNBURNT_BUNDLES\"\n            );\n    }\n\n    // after action hooks for child contracts\n    function _afterSetMaximumActiveBundles(uint256 numberOfBundles) internal virtual {}\n    function _afterCreateBundle(uint256 bundleId, bytes memory filter, uint256 initialAmount) internal virtual {}\n    function _afterFundBundle(uint256 bundleId, uint256 amount) internal virtual {}\n    function _afterDefundBundle(uint256 bundleId, uint256 amount) internal virtual {}\n\n    function _afterLockBundle(uint256 bundleId) internal virtual {}\n    function _afterUnlockBundle(uint256 bundleId) internal virtual {}\n    function _afterCloseBundle(uint256 bundleId) internal virtual {}\n    function _afterBurnBundle(uint256 bundleId) internal virtual {}\n\n    // abstract functions to implement by concrete child contracts\n    function _lockCollateral(bytes32 processId, uint256 collateralAmount) internal virtual returns(bool success);\n    function _processPremium(bytes32 processId, uint256 amount) internal virtual;\n    function _processPayout(bytes32 processId, uint256 amount) internal virtual;\n    function _releaseCollateral(bytes32 processId) internal virtual returns(uint256 collateralAmount);\n}\n",
  "sourceMap": "",
  "sourcePath": "contracts/gif/Riskpool2.sol",
  "type": "contract"
}