github.com/ConsenSys/Quorum@v20.10.0+incompatible/permission/bind/org.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package permission
     5  
     6  import (
     7  	"math/big"
     8  	"strings"
     9  
    10  	ethereum "github.com/ethereum/go-ethereum"
    11  	"github.com/ethereum/go-ethereum/accounts/abi"
    12  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    13  	"github.com/ethereum/go-ethereum/common"
    14  	"github.com/ethereum/go-ethereum/core/types"
    15  	"github.com/ethereum/go-ethereum/event"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var (
    20  	_ = big.NewInt
    21  	_ = strings.NewReader
    22  	_ = ethereum.NotFound
    23  	_ = abi.U256
    24  	_ = bind.Bind
    25  	_ = common.Big1
    26  	_ = types.BloomLookup
    27  	_ = event.NewSubscription
    28  )
    29  
    30  // OrgManagerABI is the input ABI used to generate the binding from.
    31  const OrgManagerABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateOrg\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"approveOrgStatusUpdate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getUltimateParent\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_pOrgId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addSubOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgIndex\",\"type\":\"uint256\"}],\"name\":\"getOrgInfo\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getSubOrgIndexes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfOrgs\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_orgStatus\",\"type\":\"uint256\"}],\"name\":\"checkOrgStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_breadth\",\"type\":\"uint256\"},{\"name\":\"_depth\",\"type\":\"uint256\"}],\"name\":\"setUpOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"approveOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getOrgDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"checkOrgExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"OrgApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"OrgPendingApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"}],\"name\":\"OrgSuspended\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_porgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_ultParent\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_level\",\"type\":\"uint256\"}],\"name\":\"OrgSuspensionRevoked\",\"type\":\"event\"}]"
    32  
    33  // OrgManagerBin is the compiled bytecode used for deploying new contracts.
    34  var OrgManagerBin = "0x60806040526001805460a060020a60ff021916905560046002819055600355600060065534801561002f57600080fd5b506040516020806139c78339810180604052602081101561004f57600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790556139488061007f6000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e060020a900480637755ebdd11610090578063e30283161161006a578063e3028316146106dc578063f4d6d9f51461074c578063f9953de5146107bc578063ffe40d1d1461082c576100d3565b80637755ebdd146105a25780638c8642df146105aa5780639e58eb9f14610666576100d3565b80630cc27493146100d857806314f775f91461015a578063177c8d8a146101cc5780631f953480146102b15780635c4f32ee146103735780635e99f6e5146104e2575b600080fd5b610148600480360360408110156100ee57600080fd5b81019060208101813564010000000081111561010957600080fd5b82018360208201111561011b57600080fd5b8035906020019184600183028401116401000000008311171561013d57600080fd5b9193509150356108d2565b60408051918252519081900360200190f35b6101ca6004803603604081101561017057600080fd5b81019060208101813564010000000081111561018b57600080fd5b82018360208201111561019d57600080fd5b803590602001918460018302840111640100000000831117156101bf57600080fd5b919350915035610c7d565b005b61023c600480360360208110156101e257600080fd5b8101906020810181356401000000008111156101fd57600080fd5b82018360208201111561020f57600080fd5b8035906020019184600183028401116401000000008311171561023157600080fd5b509092509050610e74565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027657818101518382015260200161025e565b50505050905090810190601f1680156102a35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ca600480360360408110156102c757600080fd5b8101906020810181356401000000008111156102e257600080fd5b8201836020820111156102f457600080fd5b8035906020019184600183028401116401000000008311171561031657600080fd5b91939092909160208101903564010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184600183028401116401000000008311171561036857600080fd5b50909250905061103a565b6103906004803603602081101561038957600080fd5b503561123e565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b838110156103e15781810151838201526020016103c9565b50505050905090810190601f16801561040e5780820380516001836020036101000a031916815260200191505b5084810383528851815288516020918201918a019080838360005b83811015610441578181015183820152602001610429565b50505050905090810190601f16801561046e5780820380516001836020036101000a031916815260200191505b50848103825287518152875160209182019189019080838360005b838110156104a1578181015183820152602001610489565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610552600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184600183028401116401000000008311171561054757600080fd5b5090925090506114b3565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561058e578181015183820152602001610576565b505050509050019250505060405180910390f35b610148611608565b610652600480360360408110156105c057600080fd5b8101906020810181356401000000008111156105db57600080fd5b8201836020820111156105ed57600080fd5b8035906020019184600183028401116401000000008311171561060f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061160f915050565b604080519115158252519081900360200190f35b6101ca6004803603606081101561067c57600080fd5b81019060208101813564010000000081111561069757600080fd5b8201836020820111156106a957600080fd5b803590602001918460018302840111640100000000831117156106cb57600080fd5b919350915080359060200135611767565b6101ca600480360360208110156106f257600080fd5b81019060208101813564010000000081111561070d57600080fd5b82018360208201111561071f57600080fd5b8035906020019184600183028401116401000000008311171561074157600080fd5b50909250905061188a565b6103906004803603602081101561076257600080fd5b81019060208101813564010000000081111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460018302840111640100000000831117156107b157600080fd5b509092509050611c9a565b6101ca600480360360208110156107d257600080fd5b8101906020810181356401000000008111156107ed57600080fd5b8201836020820111156107ff57600080fd5b8035906020019184600183028401116401000000008311171561082157600080fd5b509092509050612003565b6106526004803603602081101561084257600080fd5b81019060208101813564010000000081111561085d57600080fd5b82018360208201111561086f57600080fd5b8035906020019184600183028401116401000000008311171561089157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506121b7945050505050565b600154604080517f0e32cf900000000000000000000000000000000000000000000000000000000081529051600092600160a060020a031691630e32cf90916004808301926020929190829003018186803b15801561093057600080fd5b505afa158015610944573d6000803e3d6000fd5b505050506040513d602081101561095a57600080fd5b5051600160a060020a031633146109a9576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109eb92508391506121b79050565b1515600114610a44576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8260011480610a535750826002145b1515610a935760405160e560020a62461bcd0281526004018080602001828103825260258152602001806138566025913960400191505060405180910390fd5b6000610ad486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b9050600481815481101515610ae557fe5b9060005260206000209060080201600601546001141515610b3a5760405160e560020a62461bcd02815260040180806020018281038252602781526020018061387b6027913960400191505060405180910390fd5b6000808560011415610b5157506002905080610b62565b8560021415610b6257506004905060035b610ba388888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061160f915050565b1515600114610be65760405160e560020a62461bcd0281526004018080602001828103825260278152602001806138c26027913960400191505060405180910390fd5b8560011415610c3357610c2e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122d292505050565b610c72565b610c7288888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061259492505050565b979650505050505050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b5051600160a060020a03163314610d47576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8992508391506121b79050565b1515600114610de2576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8160011415610e2f57610e2a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061274192505050565b610e6e565b610e6e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a0792505050565b50505050565b600154604080517f0e32cf900000000000000000000000000000000000000000000000000000000081529051606092600160a060020a031691630e32cf90916004808301926020929190829003018186803b158015610ed257600080fd5b505afa158015610ee6573d6000803e3d6000fd5b505050506040513d6020811015610efc57600080fd5b5051600160a060020a03163314610f4b576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b6004610f8c84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b81548110610f9657fe5b6000918252602091829020600460089092020101805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561102c5780601f106110015761010080835404028352916020019161102c565b820191906000526020600020905b81548152906001019060200180831161100f57829003601f168201915b505050505090505b92915050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d60208110156110b557600080fd5b5051600160a060020a03163314611104576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b83838383604051602001808585808284377f2e000000000000000000000000000000000000000000000000000000000000009201918252506001018383808284378083019250505094505050505060405160208183030381529060405261116a816121b7565b156111bf576040805160e560020a62461bcd02815260206004820152600a60248201527f6f72672065786973747300000000000000000000000000000000000000000000604482015290519081900360640190fd5b61123785858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525060029250829150612ace9050565b5050505050565b606080606060008060048681548110151561125557fe5b906000526020600020906008020160000160048781548110151561127557fe5b906000526020600020906008020160020160048881548110151561129557fe5b90600052602060002090600802016004016004898154811015156112b557fe5b90600052602060002090600802016006015460048a8154811015156112d657fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b5050875460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959a508994509250840190508282801561140b5780601f106113e05761010080835404028352916020019161140b565b820191906000526020600020905b8154815290600101906020018083116113ee57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156114995780601f1061146e57610100808354040283529160200191611499565b820191906000526020600020905b81548152906001019060200180831161147c57829003601f168201915b505050505092509450945094509450945091939590929450565b60606114f483838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121b792505050565b151560011461154d576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b600061158e84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b905060048181548110151561159f57fe5b90600052602060002090600802016007018054806020026020016040519081016040528092919081815260200182805480156115fa57602002820191906000526020600020905b8154815260200190600101908083116115e6575b505050505091505092915050565b6004545b90565b600060056000846040516020018082805190602001908083835b602083106116485780518252601f199092019160209182019101611629565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054600014156116a257506000611034565b60006116ad84612245565b905060056000856040516020018082805190602001908083835b602083106116e65780518252601f1990920191602091820191016116c7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205460001415801561175f57508260048281548110151561174b57fe5b906000526020600020906008020160010154145b949350505050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156117b857600080fd5b505afa1580156117cc573d6000803e3d6000fd5b505050506040513d60208110156117e257600080fd5b5051600160a060020a03163314611831576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b6040805160208181018352600082528251601f8701829004820281018201909352858352611880929087908790819084018382808284376000920191909152506001925060029150612ace9050565b6002556003555050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156118db57600080fd5b505afa1580156118ef573d6000803e3d6000fd5b505050506040513d602081101561190557600080fd5b5051600160a060020a03163314611954576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b61199682828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061160f915050565b15156001146119ef576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b6000611a3083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b90506002600482815481101515611a4357fe5b9060005260206000209060080201600101819055507fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c600482815481101515611a8857fe5b9060005260206000209060080201600001600483815481101515611aa857fe5b9060005260206000209060080201600201600484815481101515611ac857fe5b9060005260206000209060080201600401600485815481101515611ae857fe5b906000526020600020906008020160060154600260405180806020018060200180602001868152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611b995780601f10611b6e57610100808354040283529160200191611b99565b820191906000526020600020905b815481529060010190602001808311611b7c57829003601f168201915b5050848103835288546002600019610100600184161502019091160480825260209091019089908015611c0d5780601f10611be257610100808354040283529160200191611c0d565b820191906000526020600020905b815481529060010190602001808311611bf057829003601f168201915b5050848103825287546002600019610100600184161502019091160480825260209091019088908015611c815780601f10611c5657610100808354040283529160200191611c81565b820191906000526020600020905b815481529060010190602001808311611c6457829003601f168201915b50509850505050505050505060405180910390a1505050565b6060806060600080611ce187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121b792505050565b1515611d5057868660008083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081810183528382528251908101909252918152949d509b50929950939750919550611ff9945050505050565b6000611d9188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b9050600481815481101515611da257fe5b9060005260206000209060080201600001600482815481101515611dc257fe5b9060005260206000209060080201600201600483815481101515611de257fe5b9060005260206000209060080201600401600484815481101515611e0257fe5b906000526020600020906008020160060154600485815481101515611e2357fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611eca5780601f10611e9f57610100808354040283529160200191611eca565b820191906000526020600020905b815481529060010190602001808311611ead57829003601f168201915b5050875460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959a5089945092508401905082828015611f585780601f10611f2d57610100808354040283529160200191611f58565b820191906000526020600020905b815481529060010190602001808311611f3b57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295995088945092508401905082828015611fe65780601f10611fbb57610100808354040283529160200191611fe6565b820191906000526020600020905b815481529060010190602001808311611fc957829003601f168201915b5050505050925095509550955095509550505b9295509295909350565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561205457600080fd5b505afa158015612068573d6000803e3d6000fd5b505050506040513d602081101561207e57600080fd5b5051600160a060020a031633146120cd576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b81818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061210f92508391506121b79050565b15612164576040805160e560020a62461bcd02815260206004820152600a60248201527f6f72672065786973747300000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805160208181018352600082528251601f86018290048202810182019093528483526121b29290869086908190840183828082843760009201919091525060019250829150612ace9050565b505050565b600060056000836040516020018082805190602001908083835b602083106121f05780518252601f1990920191602091820191016121d1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b6000600160056000846040516020018082805190602001908083835b602083106122805780518252601f199092019160209182019101612261565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b6122dd81600261160f565b15156001146123205760405160e560020a62461bcd0281526004018080602001828103825260348152602001806138e96034913960400191505060405180910390fd5b600061232b82612245565b9050600360048281548110151561233e57fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561238357fe5b90600052602060002090600802016000016004838154811015156123a357fe5b90600052602060002090600802016002016004848154811015156123c357fe5b90600052602060002090600802016004016004858154811015156123e357fe5b9060005260206000209060080201600601546003604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124945780601f1061246957610100808354040283529160200191612494565b820191906000526020600020905b81548152906001019060200180831161247757829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156125085780601f106124dd57610100808354040283529160200191612508565b820191906000526020600020905b8154815290600101906020018083116124eb57829003601f168201915b505084810382528754600260001961010060018416150201909116048082526020909101908890801561257c5780601f106125515761010080835404028352916020019161257c565b820191906000526020600020905b81548152906001019060200180831161255f57829003601f168201915b50509850505050505050505060405180910390a15050565b61259f81600461160f565b15156001146125f8576040805160e560020a62461bcd02815260206004820152601a60248201527f6f7267206e6f7420696e2073757370656e646564207374617465000000000000604482015290519081900360640190fd5b600061260382612245565b9050600560048281548110151561261657fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561265b57fe5b906000526020600020906008020160000160048381548110151561267b57fe5b906000526020600020906008020160020160048481548110151561269b57fe5b90600052602060002090600802016004016004858154811015156126bb57fe5b9060005260206000209060080201600601546005604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124945780601f1061246957610100808354040283529160200191612494565b61274c81600361160f565b15156001146127a5576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b60006127b082612245565b9050600480828154811015156127c257fe5b9060005260206000209060080201600101819055507f73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d9660048281548110151561280757fe5b906000526020600020906008020160000160048381548110151561282757fe5b906000526020600020906008020160020160048481548110151561284757fe5b906000526020600020906008020160040160048581548110151561286757fe5b600091825260209182902060066008909202010154604080516060810183905260808082528754600260001961010060018416150201909116049082018190529293909283929183019183019060a0840190899080156129085780601f106128dd57610100808354040283529160200191612908565b820191906000526020600020905b8154815290600101906020018083116128eb57829003601f168201915b505084810383528754600260001961010060018416150201909116048082526020909101908890801561297c5780601f106129515761010080835404028352916020019161297c565b820191906000526020600020905b81548152906001019060200180831161295f57829003601f168201915b50508481038252865460026000196101006001841615020190911604808252602090910190879080156129f05780601f106129c5576101008083540402835291602001916129f0565b820191906000526020600020905b8154815290600101906020018083116129d357829003601f168201915b505097505050505050505060405180910390a15050565b612a1281600561160f565b1515600114612a6b576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b6000612a7682612245565b90506002600482815481101515612a8957fe5b9060005260206000209060080201600101819055507f882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f60048281548110151561280757fe5b600080806001851415612b5057856040516020018082805190602001908083835b60208310612b0e5780518252601f199092019160209182019101612aef565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209150612ca8565b866040516020018082805190602001908083835b60208310612b835780518252601f199092019160209182019101612b64565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120925086866040516020018083805190602001908083835b60208310612bf45780518252601f199092019160209182019101612bd5565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b60208310612c695780518252601f199092019160209182019101612c4a565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040528051906020012091505b600680546001908101918290556000848152600560205260408120929092556004805491612cd89190830161361c565b90508560011415612d9d5785600482815481101515612cf357fe5b9060005260206000209060080201600601819055506000600482815481101515612d1957fe5b90600052602060002090600802016005018190555086600482815481101515612d3e57fe5b90600052602060002090600802016003019080519060200190612d62929190613648565b5086600482815481101515612d7357fe5b90600052602060002090600802016004019080519060200190612d97929190613648565b506130fa565b600084815260056020526040902054600354600480546000199093019450909184908110612dc757fe5b600091825260209091206007600890920201015410612e30576040805160e560020a62461bcd02815260206004820152601660248201527f62726561647468206c6576656c20657863656564656400000000000000000000604482015290519081900360640190fd5b6002546004805484908110612e4157fe5b906000526020600020906008020160060154101515612eaa576040805160e560020a62461bcd02815260206004820152601460248201527f6465707468206c6576656c206578636565646564000000000000000000000000604482015290519081900360640190fd5b6004805483908110612eb857fe5b906000526020600020906008020160060154600101600482815481101515612edc57fe5b90600052602060002090600802016006018190555081600482815481101515612f0157fe5b60009182526020909120600560089092020101556004805483908110612f2357fe5b9060005260206000209060080201600401600482815481101515612f4357fe5b90600052602060002090600802016004019080546001816001161561010002031660029004612f739291906136c6565b506000600483815481101515612f8557fe5b90600052602060002090600802016007018054809190600101612fa8919061373b565b905081600484815481101515612fba57fe5b906000526020600020906008020160070182815481101515612fd857fe5b906000526020600020018190555088886040516020018083805190602001908083835b6020831061301a5780518252601f199092019160209182019101612ffb565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b6020831061308f5780518252601f199092019160209182019101613070565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526004838154811015156130d357fe5b906000526020600020906008020160030190805190602001906130f7929190613648565b50505b8660048281548110151561310a57fe5b9060005260206000209060080201600001908051906020019061312e929190613648565b508760048281548110151561313f57fe5b90600052602060002090600802016002019080519060200190613163929190613648565b508460048281548110151561317457fe5b90600052602060002090600802016001018190555084600114156133d4577f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b6004828154811015156131c257fe5b90600052602060002090600802016000016004838154811015156131e257fe5b906000526020600020906008020160020160048481548110151561320257fe5b906000526020600020906008020160040160048581548110151561322257fe5b9060005260206000209060080201600601546001604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132d35780601f106132a8576101008083540402835291602001916132d3565b820191906000526020600020905b8154815290600101906020018083116132b657829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156133475780601f1061331c57610100808354040283529160200191613347565b820191906000526020600020905b81548152906001019060200180831161332a57829003601f168201915b50508481038252875460026000196101006001841615020190911604808252602090910190889080156133bb5780601f10613390576101008083540402835291602001916133bb565b820191906000526020600020905b81548152906001019060200180831161339e57829003601f168201915b50509850505050505050505060405180910390a1613612565b7fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c60048281548110151561340457fe5b906000526020600020906008020160000160048381548110151561342457fe5b906000526020600020906008020160020160048481548110151561344457fe5b906000526020600020906008020160040160048581548110151561346457fe5b9060005260206000209060080201600601546002604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156135155780601f106134ea57610100808354040283529160200191613515565b820191906000526020600020905b8154815290600101906020018083116134f857829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156135895780601f1061355e57610100808354040283529160200191613589565b820191906000526020600020905b81548152906001019060200180831161356c57829003601f168201915b50508481038252875460026000196101006001841615020190911604808252602090910190889080156135fd5780601f106135d2576101008083540402835291602001916135fd565b820191906000526020600020905b8154815290600101906020018083116135e057829003601f168201915b50509850505050505050505060405180910390a15b5050505050505050565b8154818355818111156121b2576008028160080283600052602060002091820191016121b2919061375f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061368957805160ff19168380011785556136b6565b828001600101855582156136b6579182015b828111156136b657825182559160200191906001019061369b565b506136c29291506137d6565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106136ff57805485556136b6565b828001600101855582156136b657600052602060002091601f016020900482015b828111156136b6578254825591600101919060010190613720565b8154818355818111156121b2576000838152602090206121b29181019083016137d6565b61160c91905b808211156136c257600061377982826137f0565b600182016000905560028201600061379191906137f0565b61379f6003830160006137f0565b6137ad6004830160006137f0565b600582016000905560068201600090556007820160006137cd9190613837565b50600801613765565b61160c91905b808211156136c257600081556001016137dc565b50805460018160011615610100020316600290046000825580601f106138165750613834565b601f01602090049060005260206000209081019061383491906137d6565b50565b508054600082559060005260206000209081019061383491906137d656fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f7765646e6f742061206d6173746572206f72672e206f7065726174696f6e206e6f7420616c6c6f776564696e76616c69642063616c6c65720000000000000000000000000000000000006f72672073746174757320646f6573206e6f7420616c6c6f7720746865206f7065726174696f6e6f7267206e6f7420696e20617070726f766564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e65a165627a7a7230582095292109a21e643d36753da64a1264f306e4f58969f791397d752271faaea41f0029"
    35  
    36  // DeployOrgManager deploys a new Ethereum contract, binding an instance of OrgManager to it.
    37  func DeployOrgManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *OrgManager, error) {
    38  	parsed, err := abi.JSON(strings.NewReader(OrgManagerABI))
    39  	if err != nil {
    40  		return common.Address{}, nil, nil, err
    41  	}
    42  
    43  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(OrgManagerBin), backend, _permUpgradable)
    44  	if err != nil {
    45  		return common.Address{}, nil, nil, err
    46  	}
    47  	return address, tx, &OrgManager{OrgManagerCaller: OrgManagerCaller{contract: contract}, OrgManagerTransactor: OrgManagerTransactor{contract: contract}, OrgManagerFilterer: OrgManagerFilterer{contract: contract}}, nil
    48  }
    49  
    50  // OrgManager is an auto generated Go binding around an Ethereum contract.
    51  type OrgManager struct {
    52  	OrgManagerCaller     // Read-only binding to the contract
    53  	OrgManagerTransactor // Write-only binding to the contract
    54  	OrgManagerFilterer   // Log filterer for contract events
    55  }
    56  
    57  // OrgManagerCaller is an auto generated read-only Go binding around an Ethereum contract.
    58  type OrgManagerCaller struct {
    59  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    60  }
    61  
    62  // OrgManagerTransactor is an auto generated write-only Go binding around an Ethereum contract.
    63  type OrgManagerTransactor struct {
    64  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    65  }
    66  
    67  // OrgManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    68  type OrgManagerFilterer struct {
    69  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    70  }
    71  
    72  // OrgManagerSession is an auto generated Go binding around an Ethereum contract,
    73  // with pre-set call and transact options.
    74  type OrgManagerSession struct {
    75  	Contract     *OrgManager       // Generic contract binding to set the session for
    76  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    77  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    78  }
    79  
    80  // OrgManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    81  // with pre-set call options.
    82  type OrgManagerCallerSession struct {
    83  	Contract *OrgManagerCaller // Generic contract caller binding to set the session for
    84  	CallOpts bind.CallOpts     // Call options to use throughout this session
    85  }
    86  
    87  // OrgManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    88  // with pre-set transact options.
    89  type OrgManagerTransactorSession struct {
    90  	Contract     *OrgManagerTransactor // Generic contract transactor binding to set the session for
    91  	TransactOpts bind.TransactOpts     // Transaction auth options to use throughout this session
    92  }
    93  
    94  // OrgManagerRaw is an auto generated low-level Go binding around an Ethereum contract.
    95  type OrgManagerRaw struct {
    96  	Contract *OrgManager // Generic contract binding to access the raw methods on
    97  }
    98  
    99  // OrgManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   100  type OrgManagerCallerRaw struct {
   101  	Contract *OrgManagerCaller // Generic read-only contract binding to access the raw methods on
   102  }
   103  
   104  // OrgManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   105  type OrgManagerTransactorRaw struct {
   106  	Contract *OrgManagerTransactor // Generic write-only contract binding to access the raw methods on
   107  }
   108  
   109  // NewOrgManager creates a new instance of OrgManager, bound to a specific deployed contract.
   110  func NewOrgManager(address common.Address, backend bind.ContractBackend) (*OrgManager, error) {
   111  	contract, err := bindOrgManager(address, backend, backend, backend)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &OrgManager{OrgManagerCaller: OrgManagerCaller{contract: contract}, OrgManagerTransactor: OrgManagerTransactor{contract: contract}, OrgManagerFilterer: OrgManagerFilterer{contract: contract}}, nil
   116  }
   117  
   118  // NewOrgManagerCaller creates a new read-only instance of OrgManager, bound to a specific deployed contract.
   119  func NewOrgManagerCaller(address common.Address, caller bind.ContractCaller) (*OrgManagerCaller, error) {
   120  	contract, err := bindOrgManager(address, caller, nil, nil)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &OrgManagerCaller{contract: contract}, nil
   125  }
   126  
   127  // NewOrgManagerTransactor creates a new write-only instance of OrgManager, bound to a specific deployed contract.
   128  func NewOrgManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*OrgManagerTransactor, error) {
   129  	contract, err := bindOrgManager(address, nil, transactor, nil)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return &OrgManagerTransactor{contract: contract}, nil
   134  }
   135  
   136  // NewOrgManagerFilterer creates a new log filterer instance of OrgManager, bound to a specific deployed contract.
   137  func NewOrgManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*OrgManagerFilterer, error) {
   138  	contract, err := bindOrgManager(address, nil, nil, filterer)
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	return &OrgManagerFilterer{contract: contract}, nil
   143  }
   144  
   145  // bindOrgManager binds a generic wrapper to an already deployed contract.
   146  func bindOrgManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   147  	parsed, err := abi.JSON(strings.NewReader(OrgManagerABI))
   148  	if err != nil {
   149  		return nil, err
   150  	}
   151  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   152  }
   153  
   154  // Call invokes the (constant) contract method with params as input values and
   155  // sets the output to result. The result type might be a single field for simple
   156  // returns, a slice of interfaces for anonymous returns and a struct for named
   157  // returns.
   158  func (_OrgManager *OrgManagerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   159  	return _OrgManager.Contract.OrgManagerCaller.contract.Call(opts, result, method, params...)
   160  }
   161  
   162  // Transfer initiates a plain transaction to move funds to the contract, calling
   163  // its default method if one is available.
   164  func (_OrgManager *OrgManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   165  	return _OrgManager.Contract.OrgManagerTransactor.contract.Transfer(opts)
   166  }
   167  
   168  // Transact invokes the (paid) contract method with params as input values.
   169  func (_OrgManager *OrgManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   170  	return _OrgManager.Contract.OrgManagerTransactor.contract.Transact(opts, method, params...)
   171  }
   172  
   173  // Call invokes the (constant) contract method with params as input values and
   174  // sets the output to result. The result type might be a single field for simple
   175  // returns, a slice of interfaces for anonymous returns and a struct for named
   176  // returns.
   177  func (_OrgManager *OrgManagerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   178  	return _OrgManager.Contract.contract.Call(opts, result, method, params...)
   179  }
   180  
   181  // Transfer initiates a plain transaction to move funds to the contract, calling
   182  // its default method if one is available.
   183  func (_OrgManager *OrgManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   184  	return _OrgManager.Contract.contract.Transfer(opts)
   185  }
   186  
   187  // Transact invokes the (paid) contract method with params as input values.
   188  func (_OrgManager *OrgManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   189  	return _OrgManager.Contract.contract.Transact(opts, method, params...)
   190  }
   191  
   192  // CheckOrgExists is a free data retrieval call binding the contract method 0xffe40d1d.
   193  //
   194  // Solidity: function checkOrgExists(string _orgId) constant returns(bool)
   195  func (_OrgManager *OrgManagerCaller) CheckOrgExists(opts *bind.CallOpts, _orgId string) (bool, error) {
   196  	var (
   197  		ret0 = new(bool)
   198  	)
   199  	out := ret0
   200  	err := _OrgManager.contract.Call(opts, out, "checkOrgExists", _orgId)
   201  	return *ret0, err
   202  }
   203  
   204  // CheckOrgExists is a free data retrieval call binding the contract method 0xffe40d1d.
   205  //
   206  // Solidity: function checkOrgExists(string _orgId) constant returns(bool)
   207  func (_OrgManager *OrgManagerSession) CheckOrgExists(_orgId string) (bool, error) {
   208  	return _OrgManager.Contract.CheckOrgExists(&_OrgManager.CallOpts, _orgId)
   209  }
   210  
   211  // CheckOrgExists is a free data retrieval call binding the contract method 0xffe40d1d.
   212  //
   213  // Solidity: function checkOrgExists(string _orgId) constant returns(bool)
   214  func (_OrgManager *OrgManagerCallerSession) CheckOrgExists(_orgId string) (bool, error) {
   215  	return _OrgManager.Contract.CheckOrgExists(&_OrgManager.CallOpts, _orgId)
   216  }
   217  
   218  // CheckOrgStatus is a free data retrieval call binding the contract method 0x8c8642df.
   219  //
   220  // Solidity: function checkOrgStatus(string _orgId, uint256 _orgStatus) constant returns(bool)
   221  func (_OrgManager *OrgManagerCaller) CheckOrgStatus(opts *bind.CallOpts, _orgId string, _orgStatus *big.Int) (bool, error) {
   222  	var (
   223  		ret0 = new(bool)
   224  	)
   225  	out := ret0
   226  	err := _OrgManager.contract.Call(opts, out, "checkOrgStatus", _orgId, _orgStatus)
   227  	return *ret0, err
   228  }
   229  
   230  // CheckOrgStatus is a free data retrieval call binding the contract method 0x8c8642df.
   231  //
   232  // Solidity: function checkOrgStatus(string _orgId, uint256 _orgStatus) constant returns(bool)
   233  func (_OrgManager *OrgManagerSession) CheckOrgStatus(_orgId string, _orgStatus *big.Int) (bool, error) {
   234  	return _OrgManager.Contract.CheckOrgStatus(&_OrgManager.CallOpts, _orgId, _orgStatus)
   235  }
   236  
   237  // CheckOrgStatus is a free data retrieval call binding the contract method 0x8c8642df.
   238  //
   239  // Solidity: function checkOrgStatus(string _orgId, uint256 _orgStatus) constant returns(bool)
   240  func (_OrgManager *OrgManagerCallerSession) CheckOrgStatus(_orgId string, _orgStatus *big.Int) (bool, error) {
   241  	return _OrgManager.Contract.CheckOrgStatus(&_OrgManager.CallOpts, _orgId, _orgStatus)
   242  }
   243  
   244  // GetNumberOfOrgs is a free data retrieval call binding the contract method 0x7755ebdd.
   245  //
   246  // Solidity: function getNumberOfOrgs() constant returns(uint256)
   247  func (_OrgManager *OrgManagerCaller) GetNumberOfOrgs(opts *bind.CallOpts) (*big.Int, error) {
   248  	var (
   249  		ret0 = new(*big.Int)
   250  	)
   251  	out := ret0
   252  	err := _OrgManager.contract.Call(opts, out, "getNumberOfOrgs")
   253  	return *ret0, err
   254  }
   255  
   256  // GetNumberOfOrgs is a free data retrieval call binding the contract method 0x7755ebdd.
   257  //
   258  // Solidity: function getNumberOfOrgs() constant returns(uint256)
   259  func (_OrgManager *OrgManagerSession) GetNumberOfOrgs() (*big.Int, error) {
   260  	return _OrgManager.Contract.GetNumberOfOrgs(&_OrgManager.CallOpts)
   261  }
   262  
   263  // GetNumberOfOrgs is a free data retrieval call binding the contract method 0x7755ebdd.
   264  //
   265  // Solidity: function getNumberOfOrgs() constant returns(uint256)
   266  func (_OrgManager *OrgManagerCallerSession) GetNumberOfOrgs() (*big.Int, error) {
   267  	return _OrgManager.Contract.GetNumberOfOrgs(&_OrgManager.CallOpts)
   268  }
   269  
   270  // GetOrgDetails is a free data retrieval call binding the contract method 0xf4d6d9f5.
   271  //
   272  // Solidity: function getOrgDetails(string _orgId) constant returns(string, string, string, uint256, uint256)
   273  func (_OrgManager *OrgManagerCaller) GetOrgDetails(opts *bind.CallOpts, _orgId string) (string, string, string, *big.Int, *big.Int, error) {
   274  	var (
   275  		ret0 = new(string)
   276  		ret1 = new(string)
   277  		ret2 = new(string)
   278  		ret3 = new(*big.Int)
   279  		ret4 = new(*big.Int)
   280  	)
   281  	out := &[]interface{}{
   282  		ret0,
   283  		ret1,
   284  		ret2,
   285  		ret3,
   286  		ret4,
   287  	}
   288  	err := _OrgManager.contract.Call(opts, out, "getOrgDetails", _orgId)
   289  	return *ret0, *ret1, *ret2, *ret3, *ret4, err
   290  }
   291  
   292  // GetOrgDetails is a free data retrieval call binding the contract method 0xf4d6d9f5.
   293  //
   294  // Solidity: function getOrgDetails(string _orgId) constant returns(string, string, string, uint256, uint256)
   295  func (_OrgManager *OrgManagerSession) GetOrgDetails(_orgId string) (string, string, string, *big.Int, *big.Int, error) {
   296  	return _OrgManager.Contract.GetOrgDetails(&_OrgManager.CallOpts, _orgId)
   297  }
   298  
   299  // GetOrgDetails is a free data retrieval call binding the contract method 0xf4d6d9f5.
   300  //
   301  // Solidity: function getOrgDetails(string _orgId) constant returns(string, string, string, uint256, uint256)
   302  func (_OrgManager *OrgManagerCallerSession) GetOrgDetails(_orgId string) (string, string, string, *big.Int, *big.Int, error) {
   303  	return _OrgManager.Contract.GetOrgDetails(&_OrgManager.CallOpts, _orgId)
   304  }
   305  
   306  // GetOrgInfo is a free data retrieval call binding the contract method 0x5c4f32ee.
   307  //
   308  // Solidity: function getOrgInfo(uint256 _orgIndex) constant returns(string, string, string, uint256, uint256)
   309  func (_OrgManager *OrgManagerCaller) GetOrgInfo(opts *bind.CallOpts, _orgIndex *big.Int) (string, string, string, *big.Int, *big.Int, error) {
   310  	var (
   311  		ret0 = new(string)
   312  		ret1 = new(string)
   313  		ret2 = new(string)
   314  		ret3 = new(*big.Int)
   315  		ret4 = new(*big.Int)
   316  	)
   317  	out := &[]interface{}{
   318  		ret0,
   319  		ret1,
   320  		ret2,
   321  		ret3,
   322  		ret4,
   323  	}
   324  	err := _OrgManager.contract.Call(opts, out, "getOrgInfo", _orgIndex)
   325  	return *ret0, *ret1, *ret2, *ret3, *ret4, err
   326  }
   327  
   328  // GetOrgInfo is a free data retrieval call binding the contract method 0x5c4f32ee.
   329  //
   330  // Solidity: function getOrgInfo(uint256 _orgIndex) constant returns(string, string, string, uint256, uint256)
   331  func (_OrgManager *OrgManagerSession) GetOrgInfo(_orgIndex *big.Int) (string, string, string, *big.Int, *big.Int, error) {
   332  	return _OrgManager.Contract.GetOrgInfo(&_OrgManager.CallOpts, _orgIndex)
   333  }
   334  
   335  // GetOrgInfo is a free data retrieval call binding the contract method 0x5c4f32ee.
   336  //
   337  // Solidity: function getOrgInfo(uint256 _orgIndex) constant returns(string, string, string, uint256, uint256)
   338  func (_OrgManager *OrgManagerCallerSession) GetOrgInfo(_orgIndex *big.Int) (string, string, string, *big.Int, *big.Int, error) {
   339  	return _OrgManager.Contract.GetOrgInfo(&_OrgManager.CallOpts, _orgIndex)
   340  }
   341  
   342  // GetSubOrgIndexes is a free data retrieval call binding the contract method 0x5e99f6e5.
   343  //
   344  // Solidity: function getSubOrgIndexes(string _orgId) constant returns(uint256[])
   345  func (_OrgManager *OrgManagerCaller) GetSubOrgIndexes(opts *bind.CallOpts, _orgId string) ([]*big.Int, error) {
   346  	var (
   347  		ret0 = new([]*big.Int)
   348  	)
   349  	out := ret0
   350  	err := _OrgManager.contract.Call(opts, out, "getSubOrgIndexes", _orgId)
   351  	return *ret0, err
   352  }
   353  
   354  // GetSubOrgIndexes is a free data retrieval call binding the contract method 0x5e99f6e5.
   355  //
   356  // Solidity: function getSubOrgIndexes(string _orgId) constant returns(uint256[])
   357  func (_OrgManager *OrgManagerSession) GetSubOrgIndexes(_orgId string) ([]*big.Int, error) {
   358  	return _OrgManager.Contract.GetSubOrgIndexes(&_OrgManager.CallOpts, _orgId)
   359  }
   360  
   361  // GetSubOrgIndexes is a free data retrieval call binding the contract method 0x5e99f6e5.
   362  //
   363  // Solidity: function getSubOrgIndexes(string _orgId) constant returns(uint256[])
   364  func (_OrgManager *OrgManagerCallerSession) GetSubOrgIndexes(_orgId string) ([]*big.Int, error) {
   365  	return _OrgManager.Contract.GetSubOrgIndexes(&_OrgManager.CallOpts, _orgId)
   366  }
   367  
   368  // GetUltimateParent is a free data retrieval call binding the contract method 0x177c8d8a.
   369  //
   370  // Solidity: function getUltimateParent(string _orgId) constant returns(string)
   371  func (_OrgManager *OrgManagerCaller) GetUltimateParent(opts *bind.CallOpts, _orgId string) (string, error) {
   372  	var (
   373  		ret0 = new(string)
   374  	)
   375  	out := ret0
   376  	err := _OrgManager.contract.Call(opts, out, "getUltimateParent", _orgId)
   377  	return *ret0, err
   378  }
   379  
   380  // GetUltimateParent is a free data retrieval call binding the contract method 0x177c8d8a.
   381  //
   382  // Solidity: function getUltimateParent(string _orgId) constant returns(string)
   383  func (_OrgManager *OrgManagerSession) GetUltimateParent(_orgId string) (string, error) {
   384  	return _OrgManager.Contract.GetUltimateParent(&_OrgManager.CallOpts, _orgId)
   385  }
   386  
   387  // GetUltimateParent is a free data retrieval call binding the contract method 0x177c8d8a.
   388  //
   389  // Solidity: function getUltimateParent(string _orgId) constant returns(string)
   390  func (_OrgManager *OrgManagerCallerSession) GetUltimateParent(_orgId string) (string, error) {
   391  	return _OrgManager.Contract.GetUltimateParent(&_OrgManager.CallOpts, _orgId)
   392  }
   393  
   394  // AddOrg is a paid mutator transaction binding the contract method 0xf9953de5.
   395  //
   396  // Solidity: function addOrg(string _orgId) returns()
   397  func (_OrgManager *OrgManagerTransactor) AddOrg(opts *bind.TransactOpts, _orgId string) (*types.Transaction, error) {
   398  	return _OrgManager.contract.Transact(opts, "addOrg", _orgId)
   399  }
   400  
   401  // AddOrg is a paid mutator transaction binding the contract method 0xf9953de5.
   402  //
   403  // Solidity: function addOrg(string _orgId) returns()
   404  func (_OrgManager *OrgManagerSession) AddOrg(_orgId string) (*types.Transaction, error) {
   405  	return _OrgManager.Contract.AddOrg(&_OrgManager.TransactOpts, _orgId)
   406  }
   407  
   408  // AddOrg is a paid mutator transaction binding the contract method 0xf9953de5.
   409  //
   410  // Solidity: function addOrg(string _orgId) returns()
   411  func (_OrgManager *OrgManagerTransactorSession) AddOrg(_orgId string) (*types.Transaction, error) {
   412  	return _OrgManager.Contract.AddOrg(&_OrgManager.TransactOpts, _orgId)
   413  }
   414  
   415  // AddSubOrg is a paid mutator transaction binding the contract method 0x1f953480.
   416  //
   417  // Solidity: function addSubOrg(string _pOrgId, string _orgId) returns()
   418  func (_OrgManager *OrgManagerTransactor) AddSubOrg(opts *bind.TransactOpts, _pOrgId string, _orgId string) (*types.Transaction, error) {
   419  	return _OrgManager.contract.Transact(opts, "addSubOrg", _pOrgId, _orgId)
   420  }
   421  
   422  // AddSubOrg is a paid mutator transaction binding the contract method 0x1f953480.
   423  //
   424  // Solidity: function addSubOrg(string _pOrgId, string _orgId) returns()
   425  func (_OrgManager *OrgManagerSession) AddSubOrg(_pOrgId string, _orgId string) (*types.Transaction, error) {
   426  	return _OrgManager.Contract.AddSubOrg(&_OrgManager.TransactOpts, _pOrgId, _orgId)
   427  }
   428  
   429  // AddSubOrg is a paid mutator transaction binding the contract method 0x1f953480.
   430  //
   431  // Solidity: function addSubOrg(string _pOrgId, string _orgId) returns()
   432  func (_OrgManager *OrgManagerTransactorSession) AddSubOrg(_pOrgId string, _orgId string) (*types.Transaction, error) {
   433  	return _OrgManager.Contract.AddSubOrg(&_OrgManager.TransactOpts, _pOrgId, _orgId)
   434  }
   435  
   436  // ApproveOrg is a paid mutator transaction binding the contract method 0xe3028316.
   437  //
   438  // Solidity: function approveOrg(string _orgId) returns()
   439  func (_OrgManager *OrgManagerTransactor) ApproveOrg(opts *bind.TransactOpts, _orgId string) (*types.Transaction, error) {
   440  	return _OrgManager.contract.Transact(opts, "approveOrg", _orgId)
   441  }
   442  
   443  // ApproveOrg is a paid mutator transaction binding the contract method 0xe3028316.
   444  //
   445  // Solidity: function approveOrg(string _orgId) returns()
   446  func (_OrgManager *OrgManagerSession) ApproveOrg(_orgId string) (*types.Transaction, error) {
   447  	return _OrgManager.Contract.ApproveOrg(&_OrgManager.TransactOpts, _orgId)
   448  }
   449  
   450  // ApproveOrg is a paid mutator transaction binding the contract method 0xe3028316.
   451  //
   452  // Solidity: function approveOrg(string _orgId) returns()
   453  func (_OrgManager *OrgManagerTransactorSession) ApproveOrg(_orgId string) (*types.Transaction, error) {
   454  	return _OrgManager.Contract.ApproveOrg(&_OrgManager.TransactOpts, _orgId)
   455  }
   456  
   457  // ApproveOrgStatusUpdate is a paid mutator transaction binding the contract method 0x14f775f9.
   458  //
   459  // Solidity: function approveOrgStatusUpdate(string _orgId, uint256 _action) returns()
   460  func (_OrgManager *OrgManagerTransactor) ApproveOrgStatusUpdate(opts *bind.TransactOpts, _orgId string, _action *big.Int) (*types.Transaction, error) {
   461  	return _OrgManager.contract.Transact(opts, "approveOrgStatusUpdate", _orgId, _action)
   462  }
   463  
   464  // ApproveOrgStatusUpdate is a paid mutator transaction binding the contract method 0x14f775f9.
   465  //
   466  // Solidity: function approveOrgStatusUpdate(string _orgId, uint256 _action) returns()
   467  func (_OrgManager *OrgManagerSession) ApproveOrgStatusUpdate(_orgId string, _action *big.Int) (*types.Transaction, error) {
   468  	return _OrgManager.Contract.ApproveOrgStatusUpdate(&_OrgManager.TransactOpts, _orgId, _action)
   469  }
   470  
   471  // ApproveOrgStatusUpdate is a paid mutator transaction binding the contract method 0x14f775f9.
   472  //
   473  // Solidity: function approveOrgStatusUpdate(string _orgId, uint256 _action) returns()
   474  func (_OrgManager *OrgManagerTransactorSession) ApproveOrgStatusUpdate(_orgId string, _action *big.Int) (*types.Transaction, error) {
   475  	return _OrgManager.Contract.ApproveOrgStatusUpdate(&_OrgManager.TransactOpts, _orgId, _action)
   476  }
   477  
   478  // SetUpOrg is a paid mutator transaction binding the contract method 0x9e58eb9f.
   479  //
   480  // Solidity: function setUpOrg(string _orgId, uint256 _breadth, uint256 _depth) returns()
   481  func (_OrgManager *OrgManagerTransactor) SetUpOrg(opts *bind.TransactOpts, _orgId string, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   482  	return _OrgManager.contract.Transact(opts, "setUpOrg", _orgId, _breadth, _depth)
   483  }
   484  
   485  // SetUpOrg is a paid mutator transaction binding the contract method 0x9e58eb9f.
   486  //
   487  // Solidity: function setUpOrg(string _orgId, uint256 _breadth, uint256 _depth) returns()
   488  func (_OrgManager *OrgManagerSession) SetUpOrg(_orgId string, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   489  	return _OrgManager.Contract.SetUpOrg(&_OrgManager.TransactOpts, _orgId, _breadth, _depth)
   490  }
   491  
   492  // SetUpOrg is a paid mutator transaction binding the contract method 0x9e58eb9f.
   493  //
   494  // Solidity: function setUpOrg(string _orgId, uint256 _breadth, uint256 _depth) returns()
   495  func (_OrgManager *OrgManagerTransactorSession) SetUpOrg(_orgId string, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   496  	return _OrgManager.Contract.SetUpOrg(&_OrgManager.TransactOpts, _orgId, _breadth, _depth)
   497  }
   498  
   499  // UpdateOrg is a paid mutator transaction binding the contract method 0x0cc27493.
   500  //
   501  // Solidity: function updateOrg(string _orgId, uint256 _action) returns(uint256)
   502  func (_OrgManager *OrgManagerTransactor) UpdateOrg(opts *bind.TransactOpts, _orgId string, _action *big.Int) (*types.Transaction, error) {
   503  	return _OrgManager.contract.Transact(opts, "updateOrg", _orgId, _action)
   504  }
   505  
   506  // UpdateOrg is a paid mutator transaction binding the contract method 0x0cc27493.
   507  //
   508  // Solidity: function updateOrg(string _orgId, uint256 _action) returns(uint256)
   509  func (_OrgManager *OrgManagerSession) UpdateOrg(_orgId string, _action *big.Int) (*types.Transaction, error) {
   510  	return _OrgManager.Contract.UpdateOrg(&_OrgManager.TransactOpts, _orgId, _action)
   511  }
   512  
   513  // UpdateOrg is a paid mutator transaction binding the contract method 0x0cc27493.
   514  //
   515  // Solidity: function updateOrg(string _orgId, uint256 _action) returns(uint256)
   516  func (_OrgManager *OrgManagerTransactorSession) UpdateOrg(_orgId string, _action *big.Int) (*types.Transaction, error) {
   517  	return _OrgManager.Contract.UpdateOrg(&_OrgManager.TransactOpts, _orgId, _action)
   518  }
   519  
   520  // OrgManagerOrgApprovedIterator is returned from FilterOrgApproved and is used to iterate over the raw logs and unpacked data for OrgApproved events raised by the OrgManager contract.
   521  type OrgManagerOrgApprovedIterator struct {
   522  	Event *OrgManagerOrgApproved // Event containing the contract specifics and raw log
   523  
   524  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   525  	event    string              // Event name to use for unpacking event data
   526  
   527  	logs chan types.Log        // Log channel receiving the found contract events
   528  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   529  	done bool                  // Whether the subscription completed delivering logs
   530  	fail error                 // Occurred error to stop iteration
   531  }
   532  
   533  // Next advances the iterator to the subsequent event, returning whether there
   534  // are any more events found. In case of a retrieval or parsing error, false is
   535  // returned and Error() can be queried for the exact failure.
   536  func (it *OrgManagerOrgApprovedIterator) Next() bool {
   537  	// If the iterator failed, stop iterating
   538  	if it.fail != nil {
   539  		return false
   540  	}
   541  	// If the iterator completed, deliver directly whatever's available
   542  	if it.done {
   543  		select {
   544  		case log := <-it.logs:
   545  			it.Event = new(OrgManagerOrgApproved)
   546  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   547  				it.fail = err
   548  				return false
   549  			}
   550  			it.Event.Raw = log
   551  			return true
   552  
   553  		default:
   554  			return false
   555  		}
   556  	}
   557  	// Iterator still in progress, wait for either a data or an error event
   558  	select {
   559  	case log := <-it.logs:
   560  		it.Event = new(OrgManagerOrgApproved)
   561  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   562  			it.fail = err
   563  			return false
   564  		}
   565  		it.Event.Raw = log
   566  		return true
   567  
   568  	case err := <-it.sub.Err():
   569  		it.done = true
   570  		it.fail = err
   571  		return it.Next()
   572  	}
   573  }
   574  
   575  // Error returns any retrieval or parsing error occurred during filtering.
   576  func (it *OrgManagerOrgApprovedIterator) Error() error {
   577  	return it.fail
   578  }
   579  
   580  // Close terminates the iteration process, releasing any pending underlying
   581  // resources.
   582  func (it *OrgManagerOrgApprovedIterator) Close() error {
   583  	it.sub.Unsubscribe()
   584  	return nil
   585  }
   586  
   587  // OrgManagerOrgApproved represents a OrgApproved event raised by the OrgManager contract.
   588  type OrgManagerOrgApproved struct {
   589  	OrgId     string
   590  	PorgId    string
   591  	UltParent string
   592  	Level     *big.Int
   593  	Status    *big.Int
   594  	Raw       types.Log // Blockchain specific contextual infos
   595  }
   596  
   597  // FilterOrgApproved is a free log retrieval operation binding the contract event 0xd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c.
   598  //
   599  // Solidity: event OrgApproved(string _orgId, string _porgId, string _ultParent, uint256 _level, uint256 _status)
   600  func (_OrgManager *OrgManagerFilterer) FilterOrgApproved(opts *bind.FilterOpts) (*OrgManagerOrgApprovedIterator, error) {
   601  
   602  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgApproved")
   603  	if err != nil {
   604  		return nil, err
   605  	}
   606  	return &OrgManagerOrgApprovedIterator{contract: _OrgManager.contract, event: "OrgApproved", logs: logs, sub: sub}, nil
   607  }
   608  
   609  // WatchOrgApproved is a free log subscription operation binding the contract event 0xd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c.
   610  //
   611  // Solidity: event OrgApproved(string _orgId, string _porgId, string _ultParent, uint256 _level, uint256 _status)
   612  func (_OrgManager *OrgManagerFilterer) WatchOrgApproved(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgApproved) (event.Subscription, error) {
   613  
   614  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgApproved")
   615  	if err != nil {
   616  		return nil, err
   617  	}
   618  	return event.NewSubscription(func(quit <-chan struct{}) error {
   619  		defer sub.Unsubscribe()
   620  		for {
   621  			select {
   622  			case log := <-logs:
   623  				// New log arrived, parse the event and forward to the user
   624  				event := new(OrgManagerOrgApproved)
   625  				if err := _OrgManager.contract.UnpackLog(event, "OrgApproved", log); err != nil {
   626  					return err
   627  				}
   628  				event.Raw = log
   629  
   630  				select {
   631  				case sink <- event:
   632  				case err := <-sub.Err():
   633  					return err
   634  				case <-quit:
   635  					return nil
   636  				}
   637  			case err := <-sub.Err():
   638  				return err
   639  			case <-quit:
   640  				return nil
   641  			}
   642  		}
   643  	}), nil
   644  }
   645  
   646  // ParseOrgApproved is a log parse operation binding the contract event 0xd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c.
   647  //
   648  // Solidity: event OrgApproved(string _orgId, string _porgId, string _ultParent, uint256 _level, uint256 _status)
   649  func (_OrgManager *OrgManagerFilterer) ParseOrgApproved(log types.Log) (*OrgManagerOrgApproved, error) {
   650  	event := new(OrgManagerOrgApproved)
   651  	if err := _OrgManager.contract.UnpackLog(event, "OrgApproved", log); err != nil {
   652  		return nil, err
   653  	}
   654  	return event, nil
   655  }
   656  
   657  // OrgManagerOrgPendingApprovalIterator is returned from FilterOrgPendingApproval and is used to iterate over the raw logs and unpacked data for OrgPendingApproval events raised by the OrgManager contract.
   658  type OrgManagerOrgPendingApprovalIterator struct {
   659  	Event *OrgManagerOrgPendingApproval // Event containing the contract specifics and raw log
   660  
   661  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   662  	event    string              // Event name to use for unpacking event data
   663  
   664  	logs chan types.Log        // Log channel receiving the found contract events
   665  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   666  	done bool                  // Whether the subscription completed delivering logs
   667  	fail error                 // Occurred error to stop iteration
   668  }
   669  
   670  // Next advances the iterator to the subsequent event, returning whether there
   671  // are any more events found. In case of a retrieval or parsing error, false is
   672  // returned and Error() can be queried for the exact failure.
   673  func (it *OrgManagerOrgPendingApprovalIterator) Next() bool {
   674  	// If the iterator failed, stop iterating
   675  	if it.fail != nil {
   676  		return false
   677  	}
   678  	// If the iterator completed, deliver directly whatever's available
   679  	if it.done {
   680  		select {
   681  		case log := <-it.logs:
   682  			it.Event = new(OrgManagerOrgPendingApproval)
   683  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   684  				it.fail = err
   685  				return false
   686  			}
   687  			it.Event.Raw = log
   688  			return true
   689  
   690  		default:
   691  			return false
   692  		}
   693  	}
   694  	// Iterator still in progress, wait for either a data or an error event
   695  	select {
   696  	case log := <-it.logs:
   697  		it.Event = new(OrgManagerOrgPendingApproval)
   698  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   699  			it.fail = err
   700  			return false
   701  		}
   702  		it.Event.Raw = log
   703  		return true
   704  
   705  	case err := <-it.sub.Err():
   706  		it.done = true
   707  		it.fail = err
   708  		return it.Next()
   709  	}
   710  }
   711  
   712  // Error returns any retrieval or parsing error occurred during filtering.
   713  func (it *OrgManagerOrgPendingApprovalIterator) Error() error {
   714  	return it.fail
   715  }
   716  
   717  // Close terminates the iteration process, releasing any pending underlying
   718  // resources.
   719  func (it *OrgManagerOrgPendingApprovalIterator) Close() error {
   720  	it.sub.Unsubscribe()
   721  	return nil
   722  }
   723  
   724  // OrgManagerOrgPendingApproval represents a OrgPendingApproval event raised by the OrgManager contract.
   725  type OrgManagerOrgPendingApproval struct {
   726  	OrgId     string
   727  	PorgId    string
   728  	UltParent string
   729  	Level     *big.Int
   730  	Status    *big.Int
   731  	Raw       types.Log // Blockchain specific contextual infos
   732  }
   733  
   734  // FilterOrgPendingApproval is a free log retrieval operation binding the contract event 0x0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b.
   735  //
   736  // Solidity: event OrgPendingApproval(string _orgId, string _porgId, string _ultParent, uint256 _level, uint256 _status)
   737  func (_OrgManager *OrgManagerFilterer) FilterOrgPendingApproval(opts *bind.FilterOpts) (*OrgManagerOrgPendingApprovalIterator, error) {
   738  
   739  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgPendingApproval")
   740  	if err != nil {
   741  		return nil, err
   742  	}
   743  	return &OrgManagerOrgPendingApprovalIterator{contract: _OrgManager.contract, event: "OrgPendingApproval", logs: logs, sub: sub}, nil
   744  }
   745  
   746  // WatchOrgPendingApproval is a free log subscription operation binding the contract event 0x0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b.
   747  //
   748  // Solidity: event OrgPendingApproval(string _orgId, string _porgId, string _ultParent, uint256 _level, uint256 _status)
   749  func (_OrgManager *OrgManagerFilterer) WatchOrgPendingApproval(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgPendingApproval) (event.Subscription, error) {
   750  
   751  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgPendingApproval")
   752  	if err != nil {
   753  		return nil, err
   754  	}
   755  	return event.NewSubscription(func(quit <-chan struct{}) error {
   756  		defer sub.Unsubscribe()
   757  		for {
   758  			select {
   759  			case log := <-logs:
   760  				// New log arrived, parse the event and forward to the user
   761  				event := new(OrgManagerOrgPendingApproval)
   762  				if err := _OrgManager.contract.UnpackLog(event, "OrgPendingApproval", log); err != nil {
   763  					return err
   764  				}
   765  				event.Raw = log
   766  
   767  				select {
   768  				case sink <- event:
   769  				case err := <-sub.Err():
   770  					return err
   771  				case <-quit:
   772  					return nil
   773  				}
   774  			case err := <-sub.Err():
   775  				return err
   776  			case <-quit:
   777  				return nil
   778  			}
   779  		}
   780  	}), nil
   781  }
   782  
   783  // ParseOrgPendingApproval is a log parse operation binding the contract event 0x0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b.
   784  //
   785  // Solidity: event OrgPendingApproval(string _orgId, string _porgId, string _ultParent, uint256 _level, uint256 _status)
   786  func (_OrgManager *OrgManagerFilterer) ParseOrgPendingApproval(log types.Log) (*OrgManagerOrgPendingApproval, error) {
   787  	event := new(OrgManagerOrgPendingApproval)
   788  	if err := _OrgManager.contract.UnpackLog(event, "OrgPendingApproval", log); err != nil {
   789  		return nil, err
   790  	}
   791  	return event, nil
   792  }
   793  
   794  // OrgManagerOrgSuspendedIterator is returned from FilterOrgSuspended and is used to iterate over the raw logs and unpacked data for OrgSuspended events raised by the OrgManager contract.
   795  type OrgManagerOrgSuspendedIterator struct {
   796  	Event *OrgManagerOrgSuspended // Event containing the contract specifics and raw log
   797  
   798  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   799  	event    string              // Event name to use for unpacking event data
   800  
   801  	logs chan types.Log        // Log channel receiving the found contract events
   802  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   803  	done bool                  // Whether the subscription completed delivering logs
   804  	fail error                 // Occurred error to stop iteration
   805  }
   806  
   807  // Next advances the iterator to the subsequent event, returning whether there
   808  // are any more events found. In case of a retrieval or parsing error, false is
   809  // returned and Error() can be queried for the exact failure.
   810  func (it *OrgManagerOrgSuspendedIterator) Next() bool {
   811  	// If the iterator failed, stop iterating
   812  	if it.fail != nil {
   813  		return false
   814  	}
   815  	// If the iterator completed, deliver directly whatever's available
   816  	if it.done {
   817  		select {
   818  		case log := <-it.logs:
   819  			it.Event = new(OrgManagerOrgSuspended)
   820  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   821  				it.fail = err
   822  				return false
   823  			}
   824  			it.Event.Raw = log
   825  			return true
   826  
   827  		default:
   828  			return false
   829  		}
   830  	}
   831  	// Iterator still in progress, wait for either a data or an error event
   832  	select {
   833  	case log := <-it.logs:
   834  		it.Event = new(OrgManagerOrgSuspended)
   835  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   836  			it.fail = err
   837  			return false
   838  		}
   839  		it.Event.Raw = log
   840  		return true
   841  
   842  	case err := <-it.sub.Err():
   843  		it.done = true
   844  		it.fail = err
   845  		return it.Next()
   846  	}
   847  }
   848  
   849  // Error returns any retrieval or parsing error occurred during filtering.
   850  func (it *OrgManagerOrgSuspendedIterator) Error() error {
   851  	return it.fail
   852  }
   853  
   854  // Close terminates the iteration process, releasing any pending underlying
   855  // resources.
   856  func (it *OrgManagerOrgSuspendedIterator) Close() error {
   857  	it.sub.Unsubscribe()
   858  	return nil
   859  }
   860  
   861  // OrgManagerOrgSuspended represents a OrgSuspended event raised by the OrgManager contract.
   862  type OrgManagerOrgSuspended struct {
   863  	OrgId     string
   864  	PorgId    string
   865  	UltParent string
   866  	Level     *big.Int
   867  	Raw       types.Log // Blockchain specific contextual infos
   868  }
   869  
   870  // FilterOrgSuspended is a free log retrieval operation binding the contract event 0x73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d96.
   871  //
   872  // Solidity: event OrgSuspended(string _orgId, string _porgId, string _ultParent, uint256 _level)
   873  func (_OrgManager *OrgManagerFilterer) FilterOrgSuspended(opts *bind.FilterOpts) (*OrgManagerOrgSuspendedIterator, error) {
   874  
   875  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgSuspended")
   876  	if err != nil {
   877  		return nil, err
   878  	}
   879  	return &OrgManagerOrgSuspendedIterator{contract: _OrgManager.contract, event: "OrgSuspended", logs: logs, sub: sub}, nil
   880  }
   881  
   882  // WatchOrgSuspended is a free log subscription operation binding the contract event 0x73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d96.
   883  //
   884  // Solidity: event OrgSuspended(string _orgId, string _porgId, string _ultParent, uint256 _level)
   885  func (_OrgManager *OrgManagerFilterer) WatchOrgSuspended(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgSuspended) (event.Subscription, error) {
   886  
   887  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgSuspended")
   888  	if err != nil {
   889  		return nil, err
   890  	}
   891  	return event.NewSubscription(func(quit <-chan struct{}) error {
   892  		defer sub.Unsubscribe()
   893  		for {
   894  			select {
   895  			case log := <-logs:
   896  				// New log arrived, parse the event and forward to the user
   897  				event := new(OrgManagerOrgSuspended)
   898  				if err := _OrgManager.contract.UnpackLog(event, "OrgSuspended", log); err != nil {
   899  					return err
   900  				}
   901  				event.Raw = log
   902  
   903  				select {
   904  				case sink <- event:
   905  				case err := <-sub.Err():
   906  					return err
   907  				case <-quit:
   908  					return nil
   909  				}
   910  			case err := <-sub.Err():
   911  				return err
   912  			case <-quit:
   913  				return nil
   914  			}
   915  		}
   916  	}), nil
   917  }
   918  
   919  // ParseOrgSuspended is a log parse operation binding the contract event 0x73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d96.
   920  //
   921  // Solidity: event OrgSuspended(string _orgId, string _porgId, string _ultParent, uint256 _level)
   922  func (_OrgManager *OrgManagerFilterer) ParseOrgSuspended(log types.Log) (*OrgManagerOrgSuspended, error) {
   923  	event := new(OrgManagerOrgSuspended)
   924  	if err := _OrgManager.contract.UnpackLog(event, "OrgSuspended", log); err != nil {
   925  		return nil, err
   926  	}
   927  	return event, nil
   928  }
   929  
   930  // OrgManagerOrgSuspensionRevokedIterator is returned from FilterOrgSuspensionRevoked and is used to iterate over the raw logs and unpacked data for OrgSuspensionRevoked events raised by the OrgManager contract.
   931  type OrgManagerOrgSuspensionRevokedIterator struct {
   932  	Event *OrgManagerOrgSuspensionRevoked // Event containing the contract specifics and raw log
   933  
   934  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   935  	event    string              // Event name to use for unpacking event data
   936  
   937  	logs chan types.Log        // Log channel receiving the found contract events
   938  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   939  	done bool                  // Whether the subscription completed delivering logs
   940  	fail error                 // Occurred error to stop iteration
   941  }
   942  
   943  // Next advances the iterator to the subsequent event, returning whether there
   944  // are any more events found. In case of a retrieval or parsing error, false is
   945  // returned and Error() can be queried for the exact failure.
   946  func (it *OrgManagerOrgSuspensionRevokedIterator) Next() bool {
   947  	// If the iterator failed, stop iterating
   948  	if it.fail != nil {
   949  		return false
   950  	}
   951  	// If the iterator completed, deliver directly whatever's available
   952  	if it.done {
   953  		select {
   954  		case log := <-it.logs:
   955  			it.Event = new(OrgManagerOrgSuspensionRevoked)
   956  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   957  				it.fail = err
   958  				return false
   959  			}
   960  			it.Event.Raw = log
   961  			return true
   962  
   963  		default:
   964  			return false
   965  		}
   966  	}
   967  	// Iterator still in progress, wait for either a data or an error event
   968  	select {
   969  	case log := <-it.logs:
   970  		it.Event = new(OrgManagerOrgSuspensionRevoked)
   971  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   972  			it.fail = err
   973  			return false
   974  		}
   975  		it.Event.Raw = log
   976  		return true
   977  
   978  	case err := <-it.sub.Err():
   979  		it.done = true
   980  		it.fail = err
   981  		return it.Next()
   982  	}
   983  }
   984  
   985  // Error returns any retrieval or parsing error occurred during filtering.
   986  func (it *OrgManagerOrgSuspensionRevokedIterator) Error() error {
   987  	return it.fail
   988  }
   989  
   990  // Close terminates the iteration process, releasing any pending underlying
   991  // resources.
   992  func (it *OrgManagerOrgSuspensionRevokedIterator) Close() error {
   993  	it.sub.Unsubscribe()
   994  	return nil
   995  }
   996  
   997  // OrgManagerOrgSuspensionRevoked represents a OrgSuspensionRevoked event raised by the OrgManager contract.
   998  type OrgManagerOrgSuspensionRevoked struct {
   999  	OrgId     string
  1000  	PorgId    string
  1001  	UltParent string
  1002  	Level     *big.Int
  1003  	Raw       types.Log // Blockchain specific contextual infos
  1004  }
  1005  
  1006  // FilterOrgSuspensionRevoked is a free log retrieval operation binding the contract event 0x882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f.
  1007  //
  1008  // Solidity: event OrgSuspensionRevoked(string _orgId, string _porgId, string _ultParent, uint256 _level)
  1009  func (_OrgManager *OrgManagerFilterer) FilterOrgSuspensionRevoked(opts *bind.FilterOpts) (*OrgManagerOrgSuspensionRevokedIterator, error) {
  1010  
  1011  	logs, sub, err := _OrgManager.contract.FilterLogs(opts, "OrgSuspensionRevoked")
  1012  	if err != nil {
  1013  		return nil, err
  1014  	}
  1015  	return &OrgManagerOrgSuspensionRevokedIterator{contract: _OrgManager.contract, event: "OrgSuspensionRevoked", logs: logs, sub: sub}, nil
  1016  }
  1017  
  1018  // WatchOrgSuspensionRevoked is a free log subscription operation binding the contract event 0x882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f.
  1019  //
  1020  // Solidity: event OrgSuspensionRevoked(string _orgId, string _porgId, string _ultParent, uint256 _level)
  1021  func (_OrgManager *OrgManagerFilterer) WatchOrgSuspensionRevoked(opts *bind.WatchOpts, sink chan<- *OrgManagerOrgSuspensionRevoked) (event.Subscription, error) {
  1022  
  1023  	logs, sub, err := _OrgManager.contract.WatchLogs(opts, "OrgSuspensionRevoked")
  1024  	if err != nil {
  1025  		return nil, err
  1026  	}
  1027  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1028  		defer sub.Unsubscribe()
  1029  		for {
  1030  			select {
  1031  			case log := <-logs:
  1032  				// New log arrived, parse the event and forward to the user
  1033  				event := new(OrgManagerOrgSuspensionRevoked)
  1034  				if err := _OrgManager.contract.UnpackLog(event, "OrgSuspensionRevoked", log); err != nil {
  1035  					return err
  1036  				}
  1037  				event.Raw = log
  1038  
  1039  				select {
  1040  				case sink <- event:
  1041  				case err := <-sub.Err():
  1042  					return err
  1043  				case <-quit:
  1044  					return nil
  1045  				}
  1046  			case err := <-sub.Err():
  1047  				return err
  1048  			case <-quit:
  1049  				return nil
  1050  			}
  1051  		}
  1052  	}), nil
  1053  }
  1054  
  1055  // ParseOrgSuspensionRevoked is a log parse operation binding the contract event 0x882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f.
  1056  //
  1057  // Solidity: event OrgSuspensionRevoked(string _orgId, string _porgId, string _ultParent, uint256 _level)
  1058  func (_OrgManager *OrgManagerFilterer) ParseOrgSuspensionRevoked(log types.Log) (*OrgManagerOrgSuspensionRevoked, error) {
  1059  	event := new(OrgManagerOrgSuspensionRevoked)
  1060  	if err := _OrgManager.contract.UnpackLog(event, "OrgSuspensionRevoked", log); err != nil {
  1061  		return nil, err
  1062  	}
  1063  	return event, nil
  1064  }