{
  "contractName": "ACL",
  "source": "./node_modules/@aragon/os/contracts/acl/ACL.sol",
  "compilerOutput": {
    "abi": [
      {
        "constant": false,
        "inputs": [
          {
            "name": "_entity",
            "type": "address"
          },
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          }
        ],
        "name": "grantPermission",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_entity",
            "type": "address"
          },
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          }
        ],
        "name": "getPermissionParamsLength",
        "outputs": [
          {
            "name": "",
            "type": "uint256"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "APP_ADDR_NAMESPACE",
        "outputs": [
          {
            "name": "",
            "type": "bytes32"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_paramsHash",
            "type": "bytes32"
          },
          {
            "name": "_who",
            "type": "address"
          },
          {
            "name": "_where",
            "type": "address"
          },
          {
            "name": "_what",
            "type": "bytes32"
          },
          {
            "name": "_how",
            "type": "uint256[]"
          }
        ],
        "name": "evalParams",
        "outputs": [
          {
            "name": "",
            "type": "bool"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "getRecoveryVault",
        "outputs": [
          {
            "name": "",
            "type": "address"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "CREATE_PERMISSIONS_ROLE",
        "outputs": [
          {
            "name": "",
            "type": "bytes32"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "EVMSCRIPT_REGISTRY_APP_ID",
        "outputs": [
          {
            "name": "",
            "type": "bytes32"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": false,
        "inputs": [
          {
            "name": "_entity",
            "type": "address"
          },
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          },
          {
            "name": "_params",
            "type": "uint256[]"
          }
        ],
        "name": "grantPermissionP",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_who",
            "type": "address"
          },
          {
            "name": "_where",
            "type": "address"
          },
          {
            "name": "_what",
            "type": "bytes32"
          }
        ],
        "name": "hasPermission",
        "outputs": [
          {
            "name": "",
            "type": "bool"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "",
            "type": "bytes32"
          },
          {
            "name": "",
            "type": "uint256"
          }
        ],
        "name": "permissionParams",
        "outputs": [
          {
            "name": "id",
            "type": "uint8"
          },
          {
            "name": "op",
            "type": "uint8"
          },
          {
            "name": "value",
            "type": "uint240"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "token",
            "type": "address"
          }
        ],
        "name": "allowRecoverability",
        "outputs": [
          {
            "name": "",
            "type": "bool"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "appId",
        "outputs": [
          {
            "name": "",
            "type": "bytes32"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "ETH",
        "outputs": [
          {
            "name": "",
            "type": "address"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "getInitializationBlock",
        "outputs": [
          {
            "name": "",
            "type": "uint256"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "EVMSCRIPT_REGISTRY_APP",
        "outputs": [
          {
            "name": "",
            "type": "bytes32"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": false,
        "inputs": [
          {
            "name": "_entity",
            "type": "address"
          },
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          }
        ],
        "name": "revokePermission",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": false,
        "inputs": [
          {
            "name": "_token",
            "type": "address"
          }
        ],
        "name": "transferToVault",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_entity",
            "type": "address"
          },
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          },
          {
            "name": "_index",
            "type": "uint256"
          }
        ],
        "name": "getPermissionParam",
        "outputs": [
          {
            "name": "id",
            "type": "uint8"
          },
          {
            "name": "op",
            "type": "uint8"
          },
          {
            "name": "value",
            "type": "uint240"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_sender",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          },
          {
            "name": "params",
            "type": "uint256[]"
          }
        ],
        "name": "canPerform",
        "outputs": [
          {
            "name": "",
            "type": "bool"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": false,
        "inputs": [
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          }
        ],
        "name": "removePermissionManager",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": false,
        "inputs": [
          {
            "name": "_newManager",
            "type": "address"
          },
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          }
        ],
        "name": "setPermissionManager",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          }
        ],
        "name": "getPermissionManager",
        "outputs": [
          {
            "name": "",
            "type": "address"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": false,
        "inputs": [
          {
            "name": "_entity",
            "type": "address"
          },
          {
            "name": "_app",
            "type": "address"
          },
          {
            "name": "_role",
            "type": "bytes32"
          },
          {
            "name": "_manager",
            "type": "address"
          }
        ],
        "name": "createPermission",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": false,
        "inputs": [
          {
            "name": "_permissionsCreator",
            "type": "address"
          }
        ],
        "name": "initialize",
        "outputs": [],
        "payable": false,
        "stateMutability": "nonpayable",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "EMPTY_PARAM_HASH",
        "outputs": [
          {
            "name": "",
            "type": "bytes32"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [],
        "name": "kernel",
        "outputs": [
          {
            "name": "",
            "type": "address"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_who",
            "type": "address"
          },
          {
            "name": "_where",
            "type": "address"
          },
          {
            "name": "_what",
            "type": "bytes32"
          },
          {
            "name": "_how",
            "type": "uint256[]"
          }
        ],
        "name": "hasPermission",
        "outputs": [
          {
            "name": "",
            "type": "bool"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_script",
            "type": "bytes"
          }
        ],
        "name": "getExecutor",
        "outputs": [
          {
            "name": "",
            "type": "address"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "constant": true,
        "inputs": [
          {
            "name": "_who",
            "type": "address"
          },
          {
            "name": "_where",
            "type": "address"
          },
          {
            "name": "_what",
            "type": "bytes32"
          },
          {
            "name": "_how",
            "type": "bytes"
          }
        ],
        "name": "hasPermission",
        "outputs": [
          {
            "name": "",
            "type": "bool"
          }
        ],
        "payable": false,
        "stateMutability": "view",
        "type": "function"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "name": "entity",
            "type": "address"
          },
          {
            "indexed": true,
            "name": "app",
            "type": "address"
          },
          {
            "indexed": true,
            "name": "role",
            "type": "bytes32"
          },
          {
            "indexed": false,
            "name": "allowed",
            "type": "bool"
          }
        ],
        "name": "SetPermission",
        "type": "event"
      },
      {
        "anonymous": false,
        "inputs": [
          {
            "indexed": true,
            "name": "app",
            "type": "address"
          },
          {
            "indexed": true,
            "name": "role",
            "type": "bytes32"
          },
          {
            "indexed": true,
            "name": "manager",
            "type": "address"
          }
        ],
        "name": "ChangePermissionManager",
        "type": "event"
      }
    ],
    "evm": {
      "bytecode": {
        "object": "6060604052341561000f57600080fd5b611ae28061001e6000396000f30060606040526004361061015b5763ffffffff60e060020a6000350416630a8ed3db811461016057806315949ed71461018a578063178e6079146101c45780631b5e75be146101d757806332f0a3b5146102595780633d6ab68f1461028857806360b1e0571461029b5780636815c992146102ae5780636d6712d814610318578063710a8315146103405780637e7db6e11461038d57806380afdea8146103ac5780638322fff2146103bf5780638b3dd749146103d25780639b3fdf4c146103e55780639d0effdb146103f85780639d4941d814610420578063a03c58321461043f578063a1658fad1461046a578063a885508a146104cd578063afd925df146104ef578063b190572714610517578063be03847814610539578063c4d66de814610568578063c513f66e14610587578063d4aae0c41461059a578063f520b58d146105ad578063f92a79ff14610617578063fdef910614610668575b600080fd5b341561016b57600080fd5b610188600160a060020a03600435811690602435166044356106d4565b005b341561019557600080fd5b6101b2600160a060020a0360043581169060243516604435610704565b60405190815260200160405180910390f35b34156101cf57600080fd5b6101b2610747565b34156101e257600080fd5b6102456004803590600160a060020a0360248035821692604435909216916064359160a490608435908101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061076b95505050505050565b604051901515815260200160405180910390f35b341561026457600080fd5b61026c6107a6565b604051600160a060020a03909116815260200160405180910390f35b341561029357600080fd5b6101b2610827565b34156102a657600080fd5b6101b261084b565b34156102b957600080fd5b610188600160a060020a0360048035821691602480359091169160443591608490606435908101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061086f95505050505050565b341561032357600080fd5b610245600160a060020a03600435811690602435166044356108d9565b341561034b57600080fd5b610359600435602435610911565b60405160ff9384168152919092166020820152600160f060020a039091166040808301919091526060909101905180910390f35b341561039857600080fd5b610245600160a060020a0360043516610959565b34156103b757600080fd5b6101b261095f565b34156103ca57600080fd5b61026c610965565b34156103dd57600080fd5b6101b261096a565b34156103f057600080fd5b6101b2610970565b341561040357600080fd5b610188600160a060020a0360043581169060243516604435610994565b341561042b57600080fd5b610188600160a060020a03600435166109d3565b341561044a57600080fd5b610359600160a060020a0360043581169060243516604435606435610b4a565b341561047557600080fd5b61024560048035600160a060020a0316906024803591906064906044359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650610bc995505050505050565b34156104d857600080fd5b610188600160a060020a0360043516602435610d07565b34156104fa57600080fd5b610188600160a060020a0360043581169060243516604435610d44565b341561052257600080fd5b61026c600160a060020a0360043516602435610d7a565b341561054457600080fd5b610188600160a060020a036004358116906024358116906044359060643516610dab565b341561057357600080fd5b610188600160a060020a0360043516610ded565b341561059257600080fd5b6101b2610e4c565b34156105a557600080fd5b61026c610e5e565b34156105b857600080fd5b610245600160a060020a03600480358216916024803590911691604435916084906064359081019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610e6d95505050505050565b341561062257600080fd5b61026c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610f1395505050505050565b341561067357600080fd5b610245600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fef95505050505050565b6106ff83838360006040518059106106e95750595b908082528060200260200182016040525061086f565b505050565b60006065600060646000610719888888611028565b81526020808201929092526040908101600090812054845291830193909352910190205490505b9392505050565b7fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb81565b6000600080516020611a9783398151915286141561078b5750600161079d565b61079a86600087878787611078565b90505b95945050505050565b60008054600160a060020a031615156107be57600080fd5b60008054600160a060020a0316906332f0a3b590604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561080757600080fd5b6102c65a03f1151561081857600080fd5b50505060405180519150505b90565b7f0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a81565b7fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6181565b6000838361087d8282610d7a565b600160a060020a031633600160a060020a031614151561089c57600080fd5b60008451116108b957600080516020611a978339815191526108c2565b6108c284611293565b92506108d0878787866113e8565b50505050505050565b60006108e3611a2b565b60006040518059106108f25750595b9080825280602002602001820160405250905061079d85858584610e6d565b60656020528160005260406000208181548110151561092c57fe5b60009182526020909120015460ff80821693506101008204169150620100009004600160f060020a031683565b50600190565b60015481565b600081565b60035490565b7f34f01c17e9be6ddbf2c61f37b5b1fb9f1a090a975006581ad19bda1c4d38287181565b81816109a08282610d7a565b600160a060020a031633600160a060020a03161415156109bf57600080fd5b6109cc85858560006113e8565b5050505050565b6000806109df83610959565b15156109ea57600080fd5b6109f26107a6565b91506109fd8261145d565b1515610a0857600080fd5b600160a060020a0383161515610a5a5781600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610a5557600080fd5b6106ff565b82600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610ab157600080fd5b6102c65a03f11515610ac257600080fd5b5050506040518051915050600160a060020a03831663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b2a57600080fd5b6102c65a03f11515610b3b57600080fd5b50505060405180515050505050565b6000806000806065600060646000610b638c8c8c611028565b8152602080820192909252604090810160009081205484529183019390935291019020805486908110610b9257fe5b60009182526020909120015460ff8082169a6101008304909116995062010000909104600160f060020a0316975095505050505050565b6000610bd3611a2b565b60008084511115610bec57835160200290508391508082525b600054600160a060020a03161580610cfd575060008054600160a060020a03169063fdef91069088903090899087906040516020015260405160e060020a63ffffffff8716028152600160a060020a0380861660048301908152908516602483015260448201849052608060648301908152909160840183818151815260200191508051906020019080838360005b83811015610c93578082015183820152602001610c7b565b50505050905090810190601f168015610cc05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1515610ce157600080fd5b6102c65a03f11515610cf257600080fd5b505050604051805190505b9695505050505050565b8181610d138282610d7a565b600160a060020a031633600160a060020a0316141515610d3257600080fd5b610d3e6000858561148a565b50505050565b8181610d508282610d7a565b600160a060020a031633600160a060020a0316141515610d6f57600080fd5b6109cc85858561148a565b600060666000610d8a858561150c565b8152602081019190915260400160002054600160a060020a03169392505050565b610dd633307f0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a6108d9565b1515610de157600080fd5b610d3e84848484611550565b60035415610dfa57600080fd5b610e02611594565b60005433600160a060020a03908116911614610e1d57600080fd5b610e4981307f0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a82611550565b50565b600080516020611a9783398151915281565b600054600160a060020a031681565b600080600060646000610e81898989611028565b815260208101919091526040016000205491508115801590610eab5750610eab828888888861076b565b15610eb95760019250610f09565b60646000610eca6000198989611028565b815260208101919091526040016000205490508015801590610ef65750610ef68160001988888861076b565b15610f045760019250610f09565b600092505b5050949350505050565b6000610f1d6115ae565b600160a060020a03166304bf2a7f836000604051602001526040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f84578082015183820152602001610f6c565b50505050905090810190601f168015610fb15780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1515610fcf57600080fd5b6102c65a03f11515610fe057600080fd5b50505060405180519392505050565b6000610ff9611a2b565b60006020845181151561100857fe5b04905083915080825261101d87878785610e6d565b979650505050505050565b600060028484846040519384526c01000000000000000000000000600160a060020a0393841681026020860152919092160260348301526048820152606801604051809103902090509392505050565b6000611082611a3d565b600088815260656020526040812054819063ffffffff8a16106110a85760009350611286565b60008a8152606560205260409020805463ffffffff8b169081106110c857fe5b906000526020600020900160606040519081016040908152915460ff80821683526101008204166020830152620100009004600160f060020a031691810191909152925060cc835160ff16141561112e57611127838b8a8a8a8a611645565b9350611286565b8260400151600160f060020a0316905060cb835160ff1614156111785761115c8360400151898989896117e8565b61116757600061116a565b60015b60ff16915060019050611235565b60c8835160ff1614156111945761118d611902565b9150611235565b60c9835160ff1614156111ba576111a9611906565b67ffffffffffffffff169150611235565b60ca835160ff1614156111d85733600160a060020a03169150611235565b60cd835160ff1614156111fa578260400151600160f060020a03169150611235565b8451835160ff161061120f5760009350611286565b84835160ff168151811061121f57fe5b90602001906020020151600160f060020a031691505b6007836020015160ff16600c81111561124a57fe5b600c81111561125557fe5b141561126657600082119350611286565b61128382846020015160ff16600c81111561127d57fe5b8361190a565b93505b5050509695505050505050565b60008060008060006112a3611a3d565b8660405180828051906020019060200280838360005b838110156112d15780820151838201526020016112b9565b5050505090500191505060405190819003902060008181526065602052604090208054919650945015156113dd57600092505b86518310156113dd5786838151811061131957fe5b90602001906020020151915060606040519081016040528061133a846119c7565b60ff16815260200161134b846119ed565b60ff16815260200183600160f060020a031681525090508380548060010182816113759190611a5d565b600092835260209092208391018151815460ff191660ff919091161781556020820151815460ff919091166101000261ff001990911617815560408201518154600160f060020a0391909116620100000261ffff909116179055505060019290920191611304565b509295945050505050565b80606460006113f8878787611028565b815260208101919091526040908101600020919091558290600160a060020a0380861691908716907f759b9a74d5354b5801710a0c1b283cc9f0d32b607ac8ced10c83ac8e75c77d52908515159051901515815260200160405180910390a450505050565b600080600160a060020a03831615156114795760009150611484565b823b90506000811191505b50919050565b8260666000611499858561150c565b815260208101919091526040908101600020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03938416179055848216918391908516907ff3addc8b8e25ee11528a61b0e65092cae0666ef0ec0c64cb303993c88d689b4d905160405180910390a4505050565b600060018383604051928352600160a060020a03919091166c0100000000000000000000000002602083015260348201526054016040518091039020905092915050565b600061155c8484610d7a565b600160a060020a03161461156f57600080fd5b611589848484600080516020611a978339815191526113e8565b610d3e81848461148a565b600354156115a157600080fd5b6115a9611902565b600355565b600080548190600160a060020a03166342c71f1d7f34f01c17e9be6ddbf2c61f37b5b1fb9f1a090a975006581ad19bda1c4d382871836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561162157600080fd5b6102c65a03f1151561163257600080fd5b50505060405180519250829150505b5090565b60008080808080808080600c8f6020015160ff16600c81111561166457fe5b600c81111561166f57fe5b14156116c25761168b8f60400151600160f060020a0316611a12565b97509750975061169f8e898f8f8f8f611078565b94506116bb8e866116b057876116b2565b885b8f8f8f8f611078565b98506117d6565b6116d88f60400151600160f060020a0316611a12565b50935093506116eb8e858f8f8f8f611078565b915060088f6020015160ff16600c81111561170257fe5b600c81111561170d57fe5b141561171c57811598506117d6565b8180156117465750600a8f6020015160ff16600c81111561173957fe5b600c81111561174457fe5b145b1561175457600198506117d6565b8115801561177f575060098f6020015160ff16600c81111561177257fe5b600c81111561177d57fe5b145b1561178d57600098506117d6565b61179b8e848f8f8f8f611078565b9050600b8f6020015160ff16600c8111156117b257fe5b600c8111156117bd57fe5b14156117d257801515821515141598506117d6565b8098505b50505050505050509695505050505050565b60007f2a15109000000000000000000000000000000000000000000000000000000000818080600160a060020a038a16632a1510908a8a8a60808b518c60405160e060020a63ffffffff8916028152600160a060020a038088166004830190815290871660248301526044820186905260ff85166064830152608482018490529060a401828051906020019060200280838360005b8381101561189557808201518382015260200161187d565b50505050905001965050505050505060006040518083038160008761646e5a03f19250505092508215156118cc57600094506118f5565b3d9150602082146118e057600094506118f5565b604051826000823e8051915060008152508094505b5050505095945050505050565b4390565b4290565b6000600183600c81111561191a57fe5b14156119295750828114610740565b600283600c81111561193757fe5b1415611947575082811415610740565b600383600c81111561195557fe5b14156119645750808311610740565b600483600c81111561197257fe5b14156119815750808310610740565b600583600c81111561198f57fe5b141561199f575080831015610740565b600683600c8111156119ad57fe5b14156119bd575080831115610740565b5060009392505050565b7f0100000000000000000000000000000000000000000000000000000000000000900490565b7e01000000000000000000000000000000000000000000000000000000000000900490565b9064010000000082049068010000000000000000830490565b60206040519081016040526000815290565b606060405190810160409081526000808352602083018190529082015290565b8154818355818115116106ff576000838152602090206106ff91810190830161082491905b808211156116415760008155600101611a825600290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563a165627a7a72305820c07c90210fdfa9d4e4f80d00a9d53acc4d316b6ebce5ecfc418fd97b18ca76d10029",
        "sourceMap": "246:16790:17:-;;;;;;;;;;;;;;;;;"
      },
      "deployedBytecode": {
        "object": "60606040526004361061015b5763ffffffff60e060020a6000350416630a8ed3db811461016057806315949ed71461018a578063178e6079146101c45780631b5e75be146101d757806332f0a3b5146102595780633d6ab68f1461028857806360b1e0571461029b5780636815c992146102ae5780636d6712d814610318578063710a8315146103405780637e7db6e11461038d57806380afdea8146103ac5780638322fff2146103bf5780638b3dd749146103d25780639b3fdf4c146103e55780639d0effdb146103f85780639d4941d814610420578063a03c58321461043f578063a1658fad1461046a578063a885508a146104cd578063afd925df146104ef578063b190572714610517578063be03847814610539578063c4d66de814610568578063c513f66e14610587578063d4aae0c41461059a578063f520b58d146105ad578063f92a79ff14610617578063fdef910614610668575b600080fd5b341561016b57600080fd5b610188600160a060020a03600435811690602435166044356106d4565b005b341561019557600080fd5b6101b2600160a060020a0360043581169060243516604435610704565b60405190815260200160405180910390f35b34156101cf57600080fd5b6101b2610747565b34156101e257600080fd5b6102456004803590600160a060020a0360248035821692604435909216916064359160a490608435908101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061076b95505050505050565b604051901515815260200160405180910390f35b341561026457600080fd5b61026c6107a6565b604051600160a060020a03909116815260200160405180910390f35b341561029357600080fd5b6101b2610827565b34156102a657600080fd5b6101b261084b565b34156102b957600080fd5b610188600160a060020a0360048035821691602480359091169160443591608490606435908101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061086f95505050505050565b341561032357600080fd5b610245600160a060020a03600435811690602435166044356108d9565b341561034b57600080fd5b610359600435602435610911565b60405160ff9384168152919092166020820152600160f060020a039091166040808301919091526060909101905180910390f35b341561039857600080fd5b610245600160a060020a0360043516610959565b34156103b757600080fd5b6101b261095f565b34156103ca57600080fd5b61026c610965565b34156103dd57600080fd5b6101b261096a565b34156103f057600080fd5b6101b2610970565b341561040357600080fd5b610188600160a060020a0360043581169060243516604435610994565b341561042b57600080fd5b610188600160a060020a03600435166109d3565b341561044a57600080fd5b610359600160a060020a0360043581169060243516604435606435610b4a565b341561047557600080fd5b61024560048035600160a060020a0316906024803591906064906044359081019083013580602080820201604051908101604052809392919081815260200183836020028082843750949650610bc995505050505050565b34156104d857600080fd5b610188600160a060020a0360043516602435610d07565b34156104fa57600080fd5b610188600160a060020a0360043581169060243516604435610d44565b341561052257600080fd5b61026c600160a060020a0360043516602435610d7a565b341561054457600080fd5b610188600160a060020a036004358116906024358116906044359060643516610dab565b341561057357600080fd5b610188600160a060020a0360043516610ded565b341561059257600080fd5b6101b2610e4c565b34156105a557600080fd5b61026c610e5e565b34156105b857600080fd5b610245600160a060020a03600480358216916024803590911691604435916084906064359081019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610e6d95505050505050565b341561062257600080fd5b61026c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610f1395505050505050565b341561067357600080fd5b610245600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610fef95505050505050565b6106ff83838360006040518059106106e95750595b908082528060200260200182016040525061086f565b505050565b60006065600060646000610719888888611028565b81526020808201929092526040908101600090812054845291830193909352910190205490505b9392505050565b7fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb81565b6000600080516020611a9783398151915286141561078b5750600161079d565b61079a86600087878787611078565b90505b95945050505050565b60008054600160a060020a031615156107be57600080fd5b60008054600160a060020a0316906332f0a3b590604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561080757600080fd5b6102c65a03f1151561081857600080fd5b50505060405180519150505b90565b7f0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a81565b7fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd6181565b6000838361087d8282610d7a565b600160a060020a031633600160a060020a031614151561089c57600080fd5b60008451116108b957600080516020611a978339815191526108c2565b6108c284611293565b92506108d0878787866113e8565b50505050505050565b60006108e3611a2b565b60006040518059106108f25750595b9080825280602002602001820160405250905061079d85858584610e6d565b60656020528160005260406000208181548110151561092c57fe5b60009182526020909120015460ff80821693506101008204169150620100009004600160f060020a031683565b50600190565b60015481565b600081565b60035490565b7f34f01c17e9be6ddbf2c61f37b5b1fb9f1a090a975006581ad19bda1c4d38287181565b81816109a08282610d7a565b600160a060020a031633600160a060020a03161415156109bf57600080fd5b6109cc85858560006113e8565b5050505050565b6000806109df83610959565b15156109ea57600080fd5b6109f26107a6565b91506109fd8261145d565b1515610a0857600080fd5b600160a060020a0383161515610a5a5781600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610a5557600080fd5b6106ff565b82600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610ab157600080fd5b6102c65a03f11515610ac257600080fd5b5050506040518051915050600160a060020a03831663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b2a57600080fd5b6102c65a03f11515610b3b57600080fd5b50505060405180515050505050565b6000806000806065600060646000610b638c8c8c611028565b8152602080820192909252604090810160009081205484529183019390935291019020805486908110610b9257fe5b60009182526020909120015460ff8082169a6101008304909116995062010000909104600160f060020a0316975095505050505050565b6000610bd3611a2b565b60008084511115610bec57835160200290508391508082525b600054600160a060020a03161580610cfd575060008054600160a060020a03169063fdef91069088903090899087906040516020015260405160e060020a63ffffffff8716028152600160a060020a0380861660048301908152908516602483015260448201849052608060648301908152909160840183818151815260200191508051906020019080838360005b83811015610c93578082015183820152602001610c7b565b50505050905090810190601f168015610cc05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1515610ce157600080fd5b6102c65a03f11515610cf257600080fd5b505050604051805190505b9695505050505050565b8181610d138282610d7a565b600160a060020a031633600160a060020a0316141515610d3257600080fd5b610d3e6000858561148a565b50505050565b8181610d508282610d7a565b600160a060020a031633600160a060020a0316141515610d6f57600080fd5b6109cc85858561148a565b600060666000610d8a858561150c565b8152602081019190915260400160002054600160a060020a03169392505050565b610dd633307f0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a6108d9565b1515610de157600080fd5b610d3e84848484611550565b60035415610dfa57600080fd5b610e02611594565b60005433600160a060020a03908116911614610e1d57600080fd5b610e4981307f0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a82611550565b50565b600080516020611a9783398151915281565b600054600160a060020a031681565b600080600060646000610e81898989611028565b815260208101919091526040016000205491508115801590610eab5750610eab828888888861076b565b15610eb95760019250610f09565b60646000610eca6000198989611028565b815260208101919091526040016000205490508015801590610ef65750610ef68160001988888861076b565b15610f045760019250610f09565b600092505b5050949350505050565b6000610f1d6115ae565b600160a060020a03166304bf2a7f836000604051602001526040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f84578082015183820152602001610f6c565b50505050905090810190601f168015610fb15780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1515610fcf57600080fd5b6102c65a03f11515610fe057600080fd5b50505060405180519392505050565b6000610ff9611a2b565b60006020845181151561100857fe5b04905083915080825261101d87878785610e6d565b979650505050505050565b600060028484846040519384526c01000000000000000000000000600160a060020a0393841681026020860152919092160260348301526048820152606801604051809103902090509392505050565b6000611082611a3d565b600088815260656020526040812054819063ffffffff8a16106110a85760009350611286565b60008a8152606560205260409020805463ffffffff8b169081106110c857fe5b906000526020600020900160606040519081016040908152915460ff80821683526101008204166020830152620100009004600160f060020a031691810191909152925060cc835160ff16141561112e57611127838b8a8a8a8a611645565b9350611286565b8260400151600160f060020a0316905060cb835160ff1614156111785761115c8360400151898989896117e8565b61116757600061116a565b60015b60ff16915060019050611235565b60c8835160ff1614156111945761118d611902565b9150611235565b60c9835160ff1614156111ba576111a9611906565b67ffffffffffffffff169150611235565b60ca835160ff1614156111d85733600160a060020a03169150611235565b60cd835160ff1614156111fa578260400151600160f060020a03169150611235565b8451835160ff161061120f5760009350611286565b84835160ff168151811061121f57fe5b90602001906020020151600160f060020a031691505b6007836020015160ff16600c81111561124a57fe5b600c81111561125557fe5b141561126657600082119350611286565b61128382846020015160ff16600c81111561127d57fe5b8361190a565b93505b5050509695505050505050565b60008060008060006112a3611a3d565b8660405180828051906020019060200280838360005b838110156112d15780820151838201526020016112b9565b5050505090500191505060405190819003902060008181526065602052604090208054919650945015156113dd57600092505b86518310156113dd5786838151811061131957fe5b90602001906020020151915060606040519081016040528061133a846119c7565b60ff16815260200161134b846119ed565b60ff16815260200183600160f060020a031681525090508380548060010182816113759190611a5d565b600092835260209092208391018151815460ff191660ff919091161781556020820151815460ff919091166101000261ff001990911617815560408201518154600160f060020a0391909116620100000261ffff909116179055505060019290920191611304565b509295945050505050565b80606460006113f8878787611028565b815260208101919091526040908101600020919091558290600160a060020a0380861691908716907f759b9a74d5354b5801710a0c1b283cc9f0d32b607ac8ced10c83ac8e75c77d52908515159051901515815260200160405180910390a450505050565b600080600160a060020a03831615156114795760009150611484565b823b90506000811191505b50919050565b8260666000611499858561150c565b815260208101919091526040908101600020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03938416179055848216918391908516907ff3addc8b8e25ee11528a61b0e65092cae0666ef0ec0c64cb303993c88d689b4d905160405180910390a4505050565b600060018383604051928352600160a060020a03919091166c0100000000000000000000000002602083015260348201526054016040518091039020905092915050565b600061155c8484610d7a565b600160a060020a03161461156f57600080fd5b611589848484600080516020611a978339815191526113e8565b610d3e81848461148a565b600354156115a157600080fd5b6115a9611902565b600355565b600080548190600160a060020a03166342c71f1d7f34f01c17e9be6ddbf2c61f37b5b1fb9f1a090a975006581ad19bda1c4d382871836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561162157600080fd5b6102c65a03f1151561163257600080fd5b50505060405180519250829150505b5090565b60008080808080808080600c8f6020015160ff16600c81111561166457fe5b600c81111561166f57fe5b14156116c25761168b8f60400151600160f060020a0316611a12565b97509750975061169f8e898f8f8f8f611078565b94506116bb8e866116b057876116b2565b885b8f8f8f8f611078565b98506117d6565b6116d88f60400151600160f060020a0316611a12565b50935093506116eb8e858f8f8f8f611078565b915060088f6020015160ff16600c81111561170257fe5b600c81111561170d57fe5b141561171c57811598506117d6565b8180156117465750600a8f6020015160ff16600c81111561173957fe5b600c81111561174457fe5b145b1561175457600198506117d6565b8115801561177f575060098f6020015160ff16600c81111561177257fe5b600c81111561177d57fe5b145b1561178d57600098506117d6565b61179b8e848f8f8f8f611078565b9050600b8f6020015160ff16600c8111156117b257fe5b600c8111156117bd57fe5b14156117d257801515821515141598506117d6565b8098505b50505050505050509695505050505050565b60007f2a15109000000000000000000000000000000000000000000000000000000000818080600160a060020a038a16632a1510908a8a8a60808b518c60405160e060020a63ffffffff8916028152600160a060020a038088166004830190815290871660248301526044820186905260ff85166064830152608482018490529060a401828051906020019060200280838360005b8381101561189557808201518382015260200161187d565b50505050905001965050505050505060006040518083038160008761646e5a03f19250505092508215156118cc57600094506118f5565b3d9150602082146118e057600094506118f5565b604051826000823e8051915060008152508094505b5050505095945050505050565b4390565b4290565b6000600183600c81111561191a57fe5b14156119295750828114610740565b600283600c81111561193757fe5b1415611947575082811415610740565b600383600c81111561195557fe5b14156119645750808311610740565b600483600c81111561197257fe5b14156119815750808310610740565b600583600c81111561198f57fe5b141561199f575080831015610740565b600683600c8111156119ad57fe5b14156119bd575080831115610740565b5060009392505050565b7f0100000000000000000000000000000000000000000000000000000000000000900490565b7e01000000000000000000000000000000000000000000000000000000000000900490565b9064010000000082049068010000000000000000830490565b60206040519081016040526000815290565b606060405190810160409081526000808352602083018190529082015290565b8154818355818115116106ff576000838152602090206106ff91810190830161082491905b808211156116415760008155600101611a825600290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563a165627a7a72305820c07c90210fdfa9d4e4f80d00a9d53acc4d316b6ebce5ecfc418fd97b18ca76d10029",
        "sourceMap": "246:16790:17:-;;;;;;;;;-1:-1:-1;;;246:16790:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4309:165;;;;;;;;;;-1:-1:-1;;;;;4309:165:17;;;;;;;;;;;;;;7251:208;;;;;;;;;;-1:-1:-1;;;;;7251:208:17;;;;;;;;;;;;;;;;;;;;;;;;;;;448:111:34;;;;;;;;;;;;10076:338:17;;;;;;;;;;;;;;-1:-1:-1;;;;;10076:338:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10076:338:17;;-1:-1:-1;10076:338:17;;-1:-1:-1;;;;;;10076:338:17;;;;;;;;;;;;;;;;;;1226:226:24;;;;;;;;;;;;;;;-1:-1:-1;;;;;1226:226:24;;;;;;;;;;;;;;;428:116:17;;;;;;;;;;;;565:118:34;;;;;;;;;;;;5034:309:17;;;;;;;;;;-1:-1:-1;;;;;5034:309:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5034:309:17;;-1:-1:-1;5034:309:17;;-1:-1:-1;;;;;;5034:309:17;9859:211;;;;;;;;;;-1:-1:-1;;;;;9859:211:17;;;;;;;;;;;;687:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;687:52:17;;;;;;;;;;;;;;;;;;;;;;1090:99:31;;;;;;;;;;-1:-1:-1;;;;;1090:99:31;;;;;113:20:23;;;;;;;;;;;;185:40:27;;;;;;;;;;;;358:107:29;;;;;;;;;;;;689:115:34;;;;;;;;;;;;5779:201:17;;;;;;;;;;-1:-1:-1;;;;;5779:201:17;;;;;;;;;;;;497:393:31;;;;;;;;;;-1:-1:-1;;;;;497:393:31;;;;;7805:334:17;;;;;;;;;;-1:-1:-1;;;;;7805:334:17;;;;;;;;;;;;;;726:494:24;;;;;;;;;;;;;-1:-1:-1;;;;;726:494:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;726:494:24;;-1:-1:-1;726:494:24;;-1:-1:-1;;;;;;726:494:24;6754:189:17;;;;;;;;;;-1:-1:-1;;;;;6754:189:17;;;;;;;6304:208;;;;;;;;;;-1:-1:-1;;;;;6304:208:17;;;;;;;;;;;;8351:153;;;;;;;;;;-1:-1:-1;;;;;8351:153:17;;;;;;;3560:250;;;;;;;;;;-1:-1:-1;;;;;3560:250:17;;;;;;;;;;;;;;;;;;2537:244;;;;;;;;;;-1:-1:-1;;;;;2537:244:17;;;;;1684:109;;;;;;;;;;;;86:21:23;;;;;;;;;;;;9284:569:17;;;;;;;;;;-1:-1:-1;;;;;9284:569:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9284:569:17;;-1:-1:-1;9284:569:17;;-1:-1:-1;;;;;;9284:569:17;891:169:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;891:169:32;;-1:-1:-1;891:169:32;;-1:-1:-1;;;;;;891:169:32;8870:408:17;;;;;;;;;;-1:-1:-1;;;;;8870:408:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8870:408:17;;-1:-1:-1;8870:408:17;;-1:-1:-1;;;;;;8870:408:17;4309:165;4411:56;4428:7;4437:4;4443:5;4464:1;4450:16;;;;;;;;;;;;;;;;;;;;;;;;4411;:56::i;:::-;4309:165;;;:::o;7251:208::-;7355:4;7378:16;:67;7395:11;:49;7407:36;7422:7;7431:4;7437:5;7407:14;:36::i;:::-;7395:49;;;;;;;;;;;;;;;;;;;7378:67;;;;;;;;;;;;;:74;;-1:-1:-1;7251:208:17;;;;;;:::o;448:111:34:-;493:66;448:111;:::o;10076:338:17:-;10245:4;-1:-1:-1;;;;;;;;;;;10269:31:17;;10265:73;;;-1:-1:-1;10323:4:17;10316:11;;10265:73;10355:52;10365:11;10378:1;10381:4;10387:6;10395:5;10402:4;10355:9;:52::i;:::-;10348:59;;10076:338;;;;;;;;:::o;1226:226:24:-;1275:7;1390:6;;-1:-1:-1;;;;;1390:6:24;1382:20;;1374:29;;;;;;1420:6;;;-1:-1:-1;;;;;1420:6:24;;:23;;:25;;;;;;;;;;-1:-1:-1;;;1420:25:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1226:226:24;;:::o;428:116:17:-;478:66;428:116;:::o;565:118:34:-;617:66;565:118;:::o;5034:309:17:-;5197:18;5155:4;5161:5;1939:33;1960:4;1966:5;1939:20;:33::i;:::-;1925:10;-1:-1:-1;;;;;1925:47:17;;;;;;1917:56;;;;;;5235:1;5218:7;:14;:18;:60;;-1:-1:-1;;;;;;;;;;;5218:60:17;;;5239:20;5251:7;5239:11;:20::i;:::-;5197:81;;5288:48;5303:7;5312:4;5318:5;5325:10;5288:14;:48::i;:::-;5034:309;;;;;;;:::o;9859:211::-;9948:4;9964:22;;:::i;:::-;10003:1;9989:16;;;;;;;;;;;;;;;;;;;;;;;;9964:41;;10022;10036:4;10042:6;10050:5;10057;10022:13;:41::i;687:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;687:52:17;;;;;-1:-1:-1;687:52:17;;;-1:-1:-1;;;;;687:52:17;;:::o;1090:99:31:-;-1:-1:-1;1178:4:31;;1090:99::o;113:20:23:-;;;;:::o;185:40:27:-;223:1;185:40;:::o;358:107:29:-;439:19;;358:107;:::o;689:115:34:-;738:66;689:115;:::o;5779:201:17:-;5881:4;5887:5;1939:33;1960:4;1966:5;1939:20;:33::i;:::-;1925:10;-1:-1:-1;;;;;1925:47:17;;;;;;1917:56;;;;;;5925:48;5940:7;5949:4;5955:5;5970:1;5925:14;:48::i;:::-;5779:201;;;;;:::o;497:393:31:-;603:13;776:14;565:27;585:6;565:19;:27::i;:::-;557:36;;;;;;;;619:18;:16;:18::i;:::-;603:34;;655:17;666:5;655:10;:17::i;:::-;647:26;;;;;;;;-1:-1:-1;;;;;688:13:31;;;684:200;;;-1:-1:-1;;;;;717:14:31;;;;732:4;:12;;717:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;684:200;;;-1:-1:-1;;;;;793:23:31;;;817:4;793:29;;;;;;;;-1:-1:-1;;;793:29:31;;;;;;-1:-1:-1;;;;;793:29:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;836:22:31;;;859:5;793:29;836:37;;;;;;;;-1:-1:-1;;;836:37:31;;;;;;-1:-1:-1;;;;;836:37:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;497:393:31;;;:::o;7805:334:17:-;7915:8;7925;7935:13;7960:19;7982:16;:67;7999:11;:49;8011:36;8026:7;8035:4;8041:5;8011:14;:36::i;:::-;7999:49;;;;;;;;;;;;;;;;;;;7982:67;;;;;;;;;;;;;:75;;8050:6;;7982:75;;;;;;;;;;;;;;;8072:8;;;;;;;8095;;;;;;-1:-1:-1;8121:11:17;;;;-1:-1:-1;;;;;8121:11:17;;-1:-1:-1;8072:8:17;-1:-1:-1;;;;;;7805:334:17:o;726:494:24:-;817:4;833:16;;:::i;:::-;942:18;925:1;909:6;:13;:17;905:212;;;963:6;:13;979:2;963:18;942:39;;1029:6;1022:13;;1082:10;1077:3;1070:6;1004:103;1141:6;;-1:-1:-1;;;;;1141:6:24;1133:20;;:80;;-1:-1:-1;1157:6:24;;;-1:-1:-1;;;;;1157:6:24;;:20;;1178:7;;1195:4;;1202:5;;1209:3;;1157:56;;;;;;;-1:-1:-1;;;1157:56:24;;;;;;-1:-1:-1;;;;;1157:56:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1133:80:24;1126:87;726:494;-1:-1:-1;;;;;;726:494:24:o;6754:189:17:-;6846:4;6852:5;1939:33;1960:4;1966:5;1939:20;:33::i;:::-;1925:10;-1:-1:-1;;;;;1925:47:17;;;;;;1917:56;;;;;;6890:46;6920:1;6924:4;6930:5;6890:21;:46::i;:::-;6754:189;;;;:::o;6304:208::-;6414:4;6420:5;1939:33;1960:4;1966:5;1939:20;:33::i;:::-;1925:10;-1:-1:-1;;;;;1925:47:17;;;;;;1917:56;;;;;;6458:47;6480:11;6493:4;6499:5;6458:21;:47::i;8351:153::-;8431:7;8457:17;:40;8475:21;8484:4;8490:5;8475:8;:21::i;:::-;8457:40;;;;;;;;;;;-1:-1:-1;8457:40:17;;-1:-1:-1;;;;;8457:40:17;;;-1:-1:-1;;;8351:153:17:o;3560:250::-;3677:65;3691:10;3711:4;478:66;3677:13;:65::i;:::-;3669:74;;;;;;;;3754:49;3772:7;3781:4;3787:5;3794:8;3754:17;:49::i;2537:244::-;140:19:29;;:24;132:33;;;;;;2612:13:17;:11;:13::i;:::-;2665:6;;2643:10;-1:-1:-1;;;;;2643:29:17;;;2665:6;;2643:29;2635:38;;;;;;2684:90;2702:19;2723:4;478:66;2702:19;2684:17;:90::i;:::-;2537:244;:::o;1684:109::-;-1:-1:-1;;;;;;;;;;;1684:109:17;:::o;86:21:23:-;;;-1:-1:-1;;;;;86:21:23;;:::o;9284:569:17:-;9396:4;9412:17;9617;9432:11;:48;9444:35;9459:4;9465:6;9473:5;9444:14;:35::i;:::-;9432:48;;;;;;;;;;;;;;;-1:-1:-1;9494:23:17;;;;;:75;;;9521:48;9532:9;9543:4;9549:6;9557:5;9564:4;9521:10;:48::i;:::-;9490:117;;;9592:4;9585:11;;;;9490:117;9637:11;:54;9649:41;-1:-1:-1;;9676:6:17;9684:5;9649:14;:41::i;:::-;9637:54;;;;;;;;;;;;;;;-1:-1:-1;9705:23:17;;;;;:81;;-1:-1:-1;9732:54:17;9743:9;-1:-1:-1;;9766:6:17;9774:5;9781:4;9732:10;:54::i;:::-;9701:123;;;9809:4;9802:11;;;;9701:123;9841:5;9834:12;;9284:569;;;;;;;;;:::o;891:169:32:-;948:18;1004:21;:19;:21::i;:::-;-1:-1:-1;;;;;1004:39:32;;1044:7;1004:48;;;;;;;;;;;-1:-1:-1;;;1004:48:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;891:169:32;-1:-1:-1;;;891:169:32:o;8870:408:17:-;8978:4;8994:20;;:::i;:::-;9024:18;9059:2;9045:4;:11;:16;;;;;;;;9024:37;;9101:4;9094:11;;9148:10;9143:3;9136:6;9232:39;9246:4;9252:6;9260:5;9267:3;9232:13;:39::i;:::-;9225:46;8870:408;-1:-1:-1;;;;;;;8870:408:17:o;16650:167::-;16742:7;16786:1;16790:4;16796:6;16804:5;16768:42;;;;;;-1:-1:-1;;;;;16768:42:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16761:49;;16650:167;;;;;:::o;11846:1484::-;12041:4;12179:18;;:::i;:::-;12383:13;12077:29;;;:16;:29;;;;;:36;12383:13;;12065:48;;;;12061:108;;12136:5;12129:12;;;;12061:108;12200:29;;;;:16;:29;;;;;:39;;;;;;;;;;;;;;;;;;;;12179:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12179:60:17;;;;;;;;;-1:-1:-1;1471:3:17;12179:60;12254:8;:29;;;12250:123;;;12306:56;12316:5;12323:11;12336:4;12342:6;12350:5;12357:4;12306:9;:56::i;:::-;12299:63;;;;12250:123;12435:5;:11;;;-1:-1:-1;;;;;12427:20:17;;-1:-1:-1;1423:3:17;12483:5;:8;:27;;;12479:699;;;12534:60;12554:5;:11;;;12568:4;12574:6;12582:5;12589:4;12534:11;:60::i;:::-;:68;;12601:1;12534:68;;;12597:1;12534:68;12526:76;;;;12629:1;12616:14;;12479:699;;;1279:3;12651:5;:8;:33;;;12647:531;;;12708:8;:6;:8::i;:::-;12700:16;;12647:531;;;1327:3;12737:5;:8;:30;;;12733:445;;;12791:6;:4;:6::i;:::-;12783:14;;;;12733:445;;;1375:3;12818:5;:8;:27;;;12814:364;;;12877:10;-1:-1:-1;;;;;12869:19:17;;-1:-1:-1;12814:364:17;;;1519:3;12909:5;:8;:32;;;12905:273;;;12973:5;:11;;;-1:-1:-1;;;;;12965:20:17;;-1:-1:-1;12905:273:17;;;13032:4;:11;13020:5;:8;:23;;;13016:74;;13070:5;13063:12;;;;13016:74;13127:4;13132:5;:8;13127:14;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13111:32:17;;-1:-1:-1;12905:273:17;13208:6;13195:5;:8;;;13192:12;;;;;;;;;;:22;;;;;;;;;13188:78;;;13254:1;13245:5;13237:18;13230:25;;;;13188:78;13283:40;13291:5;13301;:8;;;13298:12;;;;;;;;;;13312:10;13283:7;:40::i;:::-;13276:47;;11846:1484;;;;;;;;;;;;:::o;11244:596::-;11309:7;11328:17;11383:22;11516:9;11581:20;11639:18;;:::i;:::-;11358:14;11348:25;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;11408:27:17;;;;:16;:27;;;;;11450:13;;3:109:-1;;-1:-1;11408:27:17;-1:-1:-1;11450:18:17;11446:361;;;11528:1;11516:13;;11511:286;11535:14;:21;11531:1;:25;11511:286;;;11604:14;11619:1;11604:17;;;;;;;;;;;;;;;;11581:40;;11660:86;;;;;;;;;11666:27;11680:12;11666:13;:27::i;:::-;11660:86;;;;;;11695:27;11709:12;11695:13;:27::i;:::-;11660:86;;;;-1:-1:-1;;;;;11660:86:17;;;;;;;11764:18;;11639:107;;-1:-1:-1;11764:18:17;;-1:-1:-1;11764:18:17;;;;;;:::i;:::-;;;;;;;;;11776:5;;11764:18;11776:5;11764:18;;;-1:-1:-1;;11764:18:17;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11764:18:17;;;;;;;;;;;;-1:-1:-1;;;;;11764:18:17;;;;;;;;;;;;;-1:-1:-1;;;11558:3:17;;;;;11511:286;;;-1:-1:-1;11824:9:17;;11244:596;-1:-1:-1;;;;;11244:596:17:o;10985:253::-;11147:11;11095;:49;11107:36;11122:7;11131:4;11137:5;11107:14;:36::i;:::-;11095:49;;;;;;;;;;;;;-1:-1:-1;11095:49:17;:63;;;;11198:5;;-1:-1:-1;;;;;11169:62:17;;;;;;;;;;11205:25;;;;11169:62;;;;;;;;;;;;;;;10985:253;;;;:::o;53:244:30:-;113:4;;-1:-1:-1;;;;;133:21:30;;;129:64;;;177:5;170:12;;;;129:64;256:7;244:11;236:28;;289:1;282:4;:8;275:15;;53:244;;;;;:::o;16277:220:17:-;16420:11;16377:17;:40;16395:21;16404:4;16410:5;16395:8;:21::i;:::-;16377:40;;;;;;;;;;;;;-1:-1:-1;16377:40:17;:54;;-1:-1:-1;;16377:54:17;-1:-1:-1;;;;;16377:54:17;;;;;;16441:49;;;;16471:5;;16441:49;;;;;;;;;;;;;;16277:220;;;:::o;16503:141::-;16575:7;16619:1;16623:6;16631:5;16601:36;;;;;-1:-1:-1;;;;;16601:36:17;;;;;;;;;;;;;;;;;;;;;;;16594:43;;16503:141;;;;:::o;10520:376::-;10767:1;10722:33;10743:4;10749:5;10722:20;:33::i;:::-;-1:-1:-1;;;;;10722:47:17;;10714:56;;;;;;10781:54;10796:7;10805:4;10811:5;-1:-1:-1;;;;;;;;;;;10781:14:17;:54::i;:::-;10845:44;10867:8;10877:4;10883:5;10845:21;:44::i;576:96:29:-;140:19;;:24;132:33;;;;;;649:16;:14;:16::i;:::-;627:19;:38;576:96::o;1088:200:32:-;1142:18;1195:6;;1142:18;;-1:-1:-1;;;;;1195:6:32;:13;738:66:34;1142:18:32;1195:37;;;;;;;-1:-1:-1;;;1195:37:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:37:32;;-1:-1:-1;;1088:200:32;;;:::o;13336:1084:17:-;13474:4;;;;;;;;;13511:10;13497:6;:9;;;13494:13;;;;;;;;;;:27;;;;;;;;;13490:320;;;13573:39;13598:6;:12;;;-1:-1:-1;;;;;13590:21:17;13573:16;:39::i;:::-;13537:75;;;;;;13640:60;13650:11;13663:9;13674:4;13680:6;13688:5;13695:4;13640:9;:60::i;:::-;13626:74;;13722:77;13732:11;13745:6;:26;;13764:7;13745:26;;;13754:7;13745:26;13773:4;13779:6;13787:5;13794:4;13722:9;:77::i;:::-;13715:84;;;;13490:320;13836:39;13861:6;:12;;;-1:-1:-1;;;;;13853:21:17;13836:16;:39::i;:::-;13820:55;;;;;13895:53;13905:11;13918:2;13922:4;13928:6;13936:5;13943:4;13895:9;:53::i;:::-;13885:63;-1:-1:-1;13980:6:17;13966;:9;;;13963:13;;;;;;;;;;:23;;;;;;;;;13959:64;;;14010:2;14009:3;14002:10;;;;13959:64;14037:2;:28;;;;-1:-1:-1;14060:5:17;14046:6;:9;;;14043:13;;;;;;;;;;:22;;;;;;;;;14037:28;14033:70;;;14088:4;14081:11;;;;14033:70;14118:2;14117:3;:30;;;;-1:-1:-1;14141:6:17;14127;:9;;;14124:13;;;;;;;;;;:23;;;;;;;;;14117:30;14113:73;;;14170:5;14163:12;;;;14113:73;14206:53;14216:11;14229:2;14233:4;14239:6;14247:5;14254:4;14206:9;:53::i;:::-;14196:63;-1:-1:-1;14291:6:17;14277;:9;;;14274:13;;;;;;;;;;:23;;;;;;;;;14270:69;;;14326:2;14320:8;;:2;:8;;;;14313:15;;;;14270:69;14356:2;14349:9;;13336:1084;;;;;;;;;;;;;;;;;:::o;15157:1049::-;15283:4;15312:42;15283:4;;;-1:-1:-1;;;;;15312:33:17;;;15497:4;15503:6;15511:5;15518:4;15524;:11;15537:4;15475:67;;-1:-1:-1;;;15475:67:17;;;;;;-1:-1:-1;;;;;15475:67:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15465:77:17;;15629:2;15628:3;15624:46;;;15654:5;15647:12;;;;15624:46;15721:14;;-1:-1:-1;15758:2:17;15750:10;;15746:53;;15783:5;15776:12;;;;15746:53;15870:4;15864:5;15945:4;15942:1;15937:3;15922:14;16012:3;16006:5;15996:20;;16090:1;16085:3;16078:6;15839:337;16193:6;16186:13;;15157:1049;;;;;;;;;;;;:::o;16960:74::-;17019:12;16960:74;:::o;16823:82::-;16886:15;16823:82;:::o;14426:725::-;14498:4;14525:5;14518:3;:12;;;;;;;;;14514:34;;;-1:-1:-1;14540:8:17;;;14533:15;;14514:34;14628:6;14621:3;:13;;;;;;;;;14617:34;;;-1:-1:-1;14643:8:17;;;;14636:15;;14617:34;14731:5;14724:3;:12;;;;;;;;;14720:33;;;-1:-1:-1;14746:7:17;;;14739:14;;14720:33;14834:5;14827:3;:12;;;;;;;;;14823:33;;;-1:-1:-1;14849:7:17;;;14842:14;;14823:33;14937:6;14930:3;:13;;;;;;;;;14926:34;;;-1:-1:-1;14952:8:17;;;;14945:15;;14926:34;15040:6;15033:3;:13;;;;;;;;;15029:34;;;-1:-1:-1;15055:8:17;;;;15048:15;;15029:34;-1:-1:-1;15139:5:17;14426:725;;;;;:::o;2427:112:18:-;2517:14;;;;2427:112::o;2309:::-;2399:14;;;;2309:112::o;2545:192::-;2657:2;2681:13;;;;2716;;;;2545:192::o;246:16790:17:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
      },
      "methodIdentifiers": {
        "APP_ADDR_NAMESPACE()": "178e6079",
        "CREATE_PERMISSIONS_ROLE()": "3d6ab68f",
        "EMPTY_PARAM_HASH()": "c513f66e",
        "ETH()": "8322fff2",
        "EVMSCRIPT_REGISTRY_APP()": "9b3fdf4c",
        "EVMSCRIPT_REGISTRY_APP_ID()": "60b1e057",
        "allowRecoverability(address)": "7e7db6e1",
        "appId()": "80afdea8",
        "canPerform(address,bytes32,uint256[])": "a1658fad",
        "createPermission(address,address,bytes32,address)": "be038478",
        "evalParams(bytes32,address,address,bytes32,uint256[])": "1b5e75be",
        "getExecutor(bytes)": "f92a79ff",
        "getInitializationBlock()": "8b3dd749",
        "getPermissionManager(address,bytes32)": "b1905727",
        "getPermissionParam(address,address,bytes32,uint256)": "a03c5832",
        "getPermissionParamsLength(address,address,bytes32)": "15949ed7",
        "getRecoveryVault()": "32f0a3b5",
        "grantPermission(address,address,bytes32)": "0a8ed3db",
        "grantPermissionP(address,address,bytes32,uint256[])": "6815c992",
        "hasPermission(address,address,bytes32)": "6d6712d8",
        "hasPermission(address,address,bytes32,bytes)": "fdef9106",
        "hasPermission(address,address,bytes32,uint256[])": "f520b58d",
        "initialize(address)": "c4d66de8",
        "kernel()": "d4aae0c4",
        "permissionParams(bytes32,uint256)": "710a8315",
        "removePermissionManager(address,bytes32)": "a885508a",
        "revokePermission(address,address,bytes32)": "9d0effdb",
        "setPermissionManager(address,address,bytes32)": "afd925df",
        "transferToVault(address)": "9d4941d8"
      }
    }
  },
  "sources": {
    "./node_modules/@aragon/os/contracts/acl/ACL.sol": {
      "id": 17,
      "keccak256": "0x6af19edaa165221caae72f959d47a94fc8379dfdf622c0314f374b3723c1b9d9",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/acl/ACL.sol"
    },
    "./node_modules/@aragon/os/contracts/acl/ACLSyntaxSugar.sol": {
      "id": 18,
      "keccak256": "0xb60f567383dd66e25eaf0925320fdff8d5c57d4f1f74a7a53a9573b61876340e",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/acl/ACLSyntaxSugar.sol"
    },
    "./node_modules/@aragon/os/contracts/acl/IACL.sol": {
      "id": 19,
      "keccak256": "0xa120fc32d8d2c5096d605b0fe012d5b1e4a62118952a25a18bac5210f4fceede",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/acl/IACL.sol"
    },
    "./node_modules/@aragon/os/contracts/apps/AppStorage.sol": {
      "id": 23,
      "keccak256": "0x8b9205a3fdf9d94fb1461d2c2d32335803122aa75d3fa8cf0b982796fd040c25",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/apps/AppStorage.sol"
    },
    "./node_modules/@aragon/os/contracts/apps/AragonApp.sol": {
      "id": 24,
      "keccak256": "0x04bd38b82d31aff08b67def2e1637482fdb91f1f44f4ec497f4e7416c5f83dfb",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/apps/AragonApp.sol"
    },
    "./node_modules/@aragon/os/contracts/common/EtherTokenConstant.sol": {
      "id": 27,
      "keccak256": "0x160b651ec349ce381646d8ba24b873a61ab4bf0d60315b9644a175283a574b94",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/common/EtherTokenConstant.sol"
    },
    "./node_modules/@aragon/os/contracts/common/IVaultRecoverable.sol": {
      "id": 28,
      "keccak256": "0xf6ed3f4043aee4526c9563c83f74d701141dd81a988f1be463ba6a18e09ba2c3",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/common/IVaultRecoverable.sol"
    },
    "./node_modules/@aragon/os/contracts/common/Initializable.sol": {
      "id": 29,
      "keccak256": "0x1265fd5de8acf30e4b444f52cfdf91dcebb222fe05bdfc081f2fc0ea953ab5e4",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/common/Initializable.sol"
    },
    "./node_modules/@aragon/os/contracts/common/IsContract.sol": {
      "id": 30,
      "keccak256": "0xee6df8a68ea442a2c0414ee70d95eb3e197425ce372a28bfda01888b0d9446f1",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/common/IsContract.sol"
    },
    "./node_modules/@aragon/os/contracts/common/VaultRecoverable.sol": {
      "id": 31,
      "keccak256": "0x1b71cbea32aee6e65912e3447eb8001bdad127d421e0c4464bb8294f945d9cf1",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/common/VaultRecoverable.sol"
    },
    "./node_modules/@aragon/os/contracts/evmscript/EVMScriptRunner.sol": {
      "id": 32,
      "keccak256": "0x85d0a5051c5e867b0b15b756789911871ae746f36462cb774557682f90e7fa78",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/evmscript/EVMScriptRunner.sol"
    },
    "./node_modules/@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol": {
      "id": 33,
      "keccak256": "0x6a4beed810085f11cda9d50c3547ac4cc2100d9dc18ab4982ff11dd483410012",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol"
    },
    "./node_modules/@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol": {
      "id": 34,
      "keccak256": "0x460ff768028031e444267cad9d848b6e98182c3721d16013afd5949444701e84",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol"
    },
    "./node_modules/@aragon/os/contracts/evmscript/ScriptHelpers.sol": {
      "id": 35,
      "keccak256": "0x5bf6b2ceab21c1f8b31b6e797ae12974a655e46e142aeb12b3560ed912a4dd01",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/evmscript/ScriptHelpers.sol"
    },
    "./node_modules/@aragon/os/contracts/kernel/IKernel.sol": {
      "id": 37,
      "keccak256": "0x1f0c5def4ecec01abcbb07eea3312e0a4683d81a81c2475d66f06c5c3b8585cd",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/kernel/IKernel.sol"
    },
    "./node_modules/@aragon/os/contracts/lib/zeppelin/token/ERC20.sol": {
      "id": 41,
      "keccak256": "0x48674c3983e4e9ba8f771d28e349833164934960a952966c17ae05f05fa84379",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/lib/zeppelin/token/ERC20.sol"
    },
    "./node_modules/@aragon/os/contracts/lib/zeppelin/token/ERC20Basic.sol": {
      "id": 42,
      "keccak256": "0x3ad7429b6f0a6330e8e89646aef39de99fa1fd8221e6a9dd55e3a9104908d585",
      "file": "/Users/rjewing/code/giveth/liquidpledging/node_modules/@aragon/os/contracts/lib/zeppelin/token/ERC20Basic.sol"
    }
  },
  "compiler": {
    "name": "solc",
    "keccak256": "0x6af19edaa165221caae72f959d47a94fc8379dfdf622c0314f374b3723c1b9d9",
    "version": "0.4.18+commit.9cf6e910",
    "settings": {
      "remappings": [
        "@aragon/os/contracts/apps/AppProxyUpgradeable.sol=./node_modules/@aragon/os/contracts/apps/AppProxyUpgradeable.sol",
        "@aragon/os/contracts/acl/IACL.sol=./node_modules/@aragon/os/contracts/acl/IACL.sol",
        "@aragon/os/contracts/common/IVaultRecoverable.sol=./node_modules/@aragon/os/contracts/common/IVaultRecoverable.sol",
        "@aragon/os/contracts/kernel/IKernel.sol=./node_modules/@aragon/os/contracts/kernel/IKernel.sol",
        "@aragon/os/contracts/apps/AppStorage.sol=./node_modules/@aragon/os/contracts/apps/AppStorage.sol",
        "@aragon/os/contracts/common/IsContract.sol=./node_modules/@aragon/os/contracts/common/IsContract.sol",
        "@aragon/os/contracts/lib/misc/ERCProxy.sol=./node_modules/@aragon/os/contracts/lib/misc/ERCProxy.sol",
        "@aragon/os/contracts/common/DelegateProxy.sol=./node_modules/@aragon/os/contracts/common/DelegateProxy.sol",
        "@aragon/os/contracts/common/DepositableDelegateProxy.sol=./node_modules/@aragon/os/contracts/common/DepositableDelegateProxy.sol",
        "@aragon/os/contracts/kernel/KernelStorage.sol=./node_modules/@aragon/os/contracts/kernel/KernelStorage.sol",
        "@aragon/os/contracts/apps/AppProxyBase.sol=./node_modules/@aragon/os/contracts/apps/AppProxyBase.sol",
        "@aragon/os/contracts/acl/ACL.sol=./node_modules/@aragon/os/contracts/acl/ACL.sol",
        "@aragon/os/contracts/common/Initializable.sol=./node_modules/@aragon/os/contracts/common/Initializable.sol",
        "@aragon/os/contracts/common/EtherTokenConstant.sol=./node_modules/@aragon/os/contracts/common/EtherTokenConstant.sol",
        "@aragon/os/contracts/lib/zeppelin/token/ERC20Basic.sol=./node_modules/@aragon/os/contracts/lib/zeppelin/token/ERC20Basic.sol",
        "@aragon/os/contracts/lib/zeppelin/token/ERC20.sol=./node_modules/@aragon/os/contracts/lib/zeppelin/token/ERC20.sol",
        "@aragon/os/contracts/common/VaultRecoverable.sol=./node_modules/@aragon/os/contracts/common/VaultRecoverable.sol",
        "@aragon/os/contracts/evmscript/ScriptHelpers.sol=./node_modules/@aragon/os/contracts/evmscript/ScriptHelpers.sol",
        "@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol=./node_modules/@aragon/os/contracts/evmscript/IEVMScriptExecutor.sol",
        "@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol=./node_modules/@aragon/os/contracts/evmscript/IEVMScriptRegistry.sol",
        "@aragon/os/contracts/evmscript/EVMScriptRunner.sol=./node_modules/@aragon/os/contracts/evmscript/EVMScriptRunner.sol",
        "@aragon/os/contracts/acl/ACLSyntaxSugar.sol=./node_modules/@aragon/os/contracts/acl/ACLSyntaxSugar.sol",
        "@aragon/os/contracts/apps/AragonApp.sol=./node_modules/@aragon/os/contracts/apps/AragonApp.sol",
        "@aragon/os/contracts/kernel/Kernel.sol=./node_modules/@aragon/os/contracts/kernel/Kernel.sol",
        "@aragon/os/contracts/apps/AppProxyPinned.sol=./node_modules/@aragon/os/contracts/apps/AppProxyPinned.sol",
        "@aragon/os/contracts/factory/AppProxyFactory.sol=./node_modules/@aragon/os/contracts/factory/AppProxyFactory.sol"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "metadata": {
        "useLiteralContent": true
      },
      "outputSelection": {
        "*": {
          "*": [
            "metadata",
            "evm.bytecode.object",
            "evm.bytecode.sourceMap",
            "abi",
            "evm.methodIdentifiers",
            "evm.deployedBytecode.object",
            "evm.deployedBytecode.sourceMap"
          ]
        }
      }
    }
  }
}