diff --git a/core/types/permissions_cache.go b/core/types/permissions_cache.go index cc78deeef..f08f782d8 100644 --- a/core/types/permissions_cache.go +++ b/core/types/permissions_cache.go @@ -110,6 +110,24 @@ type PermissionConfig struct { SubOrgBreadth *big.Int `json:"subOrgBreadth"` } +var syncStarted = false + +var DefaultAccess = FullAccess +var QIP714BlockReached = false +var networkAdminRole string +var orgAdminRole string + +const defaultOrgMapLimit = 2000 +const defaultRoleMapLimit = 2500 +const defaultNodeMapLimit = 1000 +const defaultAccountMapLimit = 6000 + +var OrgInfoMap = NewOrgCache() +var NodeInfoMap = NewNodeCache() +var RoleInfoMap = NewRoleCache() +var AcctInfoMap = NewAcctCache() + + type OrgKey struct { OrgId string } @@ -121,6 +139,7 @@ type OrgCache struct { populateCacheFunc func(orgId string) *OrgInfo } + func (o *OrgCache) PopulateCacheFunc(cf func(string) *OrgInfo) { o.populateCacheFunc = cf } @@ -212,27 +231,6 @@ func NewAcctCache() *AcctCache { return &acctCache } -var syncStarted = false - -var DefaultAccess = FullAccess -var QIP714BlockReached = false -var networkAdminRole string -var orgAdminRole string - -//const defaultOrgMapLimit = 2000 -//const defaultRoleMapLimit = 2500 -//const defaultNodeMapLimit = 1000 -//const defaultAccountMapLimit = 6000 -const defaultOrgMapLimit = 2 -const defaultRoleMapLimit = 2 -const defaultNodeMapLimit = 2 -const defaultAccountMapLimit = 2 - -var OrgInfoMap = NewOrgCache() -var NodeInfoMap = NewNodeCache() -var RoleInfoMap = NewRoleCache() -var AcctInfoMap = NewAcctCache() - func (pc *PermissionConfig) IsEmpty() bool { return pc.InterfAddress == common.HexToAddress("0x0") } diff --git a/permission/bind/accounts.go b/permission/bind/accounts.go index 2149efeb0..fefbb46dc 100644 --- a/permission/bind/accounts.go +++ b/permission/bind/accounts.go @@ -31,7 +31,7 @@ var ( const AcctManagerABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_adminRole\",\"type\":\"bool\"}],\"name\":\"assignAccountRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"removeExistingAdmin\",\"outputs\":[{\"name\":\"voterUpdate\",\"type\":\"bool\"},{\"name\":\"account\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfAccounts\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"validateAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountRole\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateAccountStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"orgAdminExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_aIndex\",\"type\":\"uint256\"}],\"name\":\"getAccountDetailsFromIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addNewAdmin\",\"outputs\":[{\"name\":\"voterUpdate\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"}],\"name\":\"setDefaults\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"assignAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"checkOrgAdmin\",\"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\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgAdmin\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"AccountAccessModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgAdmin\",\"type\":\"bool\"}],\"name\":\"AccountAccessRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_status\",\"type\":\"uint256\"}],\"name\":\"AccountStatusChanged\",\"type\":\"event\"}]" // AcctManagerBin is the compiled bytecode used for deploying new contracts. -const AcctManagerBin = `608060405234801561001057600080fd5b50604051602080613a988339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a0319909216919091179055613a36806100626000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e060020a9004806384b7a84a11610090578063c214e5e51161006a578063c214e5e5146105fb578063cef7f6af14610674578063e3483a9d14610736578063e8b42bf414610808576100d3565b806384b7a84a146104b9578063950145cf14610538578063b2018568146105de576100d3565b8063143a5604146100d85780631d09dc93146101ae5780632aceb53414610241578063309e36ef146103705780636b568d761461038a57806381d66b231461041e575b600080fd5b6101ac600480360360808110156100ee57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561011957600080fd5b82018360208201111561012b57600080fd5b8035906020019184600183028401116401000000008311171561014d57600080fd5b91939092909160208101903564010000000081111561016b57600080fd5b82018360208201111561017d57600080fd5b8035906020019184600183028401116401000000008311171561019f57600080fd5b9193509150351515610945565b005b61021e600480360360208110156101c457600080fd5b8101906020810181356401000000008111156101df57600080fd5b8201836020820111156101f157600080fd5b8035906020019184600183028401116401000000008311171561021357600080fd5b509092509050610d40565b604080519215158352600160a060020a0390911660208301528051918290030190f35b6102676004803603602081101561025757600080fd5b5035600160a060020a03166112dd565b6040518086600160a060020a0316600160a060020a03168152602001806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b838110156102d05781810151838201526020016102b8565b50505050905090810190601f1680156102fd5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610330578181015183820152602001610318565b50505050905090810190601f16801561035d5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b61037861154b565b60408051918252519081900360200190f35b61040a600480360360408110156103a057600080fd5b600160a060020a0382351691908101906040810160208201356401000000008111156103cb57600080fd5b8201836020820111156103dd57600080fd5b803590602001918460018302840111640100000000831117156103ff57600080fd5b509092509050611552565b604080519115158252519081900360200190f35b6104446004803603602081101561043457600080fd5b5035600160a060020a03166116ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047e578181015183820152602001610466565b50505050905090810190601f1680156104ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ac600480360360608110156104cf57600080fd5b8101906020810181356401000000008111156104ea57600080fd5b8201836020820111156104fc57600080fd5b8035906020019184600183028401116401000000008311171561051e57600080fd5b9193509150600160a060020a03813516906020013561182f565b61040a6004803603602081101561054e57600080fd5b81019060208101813564010000000081111561056957600080fd5b82018360208201111561057b57600080fd5b8035906020019184600183028401116401000000008311171561059d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611f5f945050505050565b610267600480360360208110156105f457600080fd5b50356120da565b61040a6004803603604081101561061157600080fd5b81019060208101813564010000000081111561062c57600080fd5b82018360208201111561063e57600080fd5b8035906020019184600183028401116401000000008311171561066057600080fd5b919350915035600160a060020a03166122c4565b6101ac6004803603604081101561068a57600080fd5b8101906020810181356401000000008111156106a557600080fd5b8201836020820111156106b757600080fd5b803590602001918460018302840111640100000000831117156106d957600080fd5b9193909290916020810190356401000000008111156106f757600080fd5b82018360208201111561070957600080fd5b8035906020019184600183028401116401000000008311171561072b57600080fd5b509092509050612913565b6101ac6004803603608081101561074c57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561077757600080fd5b82018360208201111561078957600080fd5b803590602001918460018302840111640100000000831117156107ab57600080fd5b9193909290916020810190356401000000008111156107c957600080fd5b8201836020820111156107db57600080fd5b803590602001918460018302840111640100000000831117156107fd57600080fd5b9193509150356129fc565b61040a6004803603606081101561081e57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561084957600080fd5b82018360208201111561085b57600080fd5b8035906020019184600183028401116401000000008311171561087d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156108d057600080fd5b8201836020820111156108e257600080fd5b8035906020019184600183028401116401000000008311171561090457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612d6b945050505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561099557600080fd5b505afa1580156109a9573d6000803e3d6000fd5b505050506040513d60208110156109bf57600080fd5b5051600160a060020a03163314610a0e576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b6040805160208082019081526004805460026000196101006001841615020190911604938301849052929091829160609091019084908015610a915780601f10610a6657610100808354040283529160200191610a91565b820191906000526020600020905b815481529060010190602001808311610a7457829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015610c7f57506040805160208082019081526005805460026000196101006001841615020190911604938301849052929091829160609091019084908015610b8c5780601f10610b6157610100808354040283529160200191610b8c565b820191906000526020600020905b815481529060010190602001808311610b6f57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015610c34578181015183820152602001610c1c565b50505050905090810190601f168015610c615780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012014155b1515610cbf5760405160e560020a62461bcd0281526004018080602001828103825260408152602001806139666040913960400191505060405180910390fd5b610d388686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250600292508791506132d29050565b505050505050565b60008054604080517f0e32cf9000000000000000000000000000000000000000000000000000000000815290518392600160a060020a031691630e32cf90916004808301926020929190829003018186803b158015610d9e57600080fd5b505afa158015610db2573d6000803e3d6000fd5b505050506040513d6020811015610dc857600080fd5b5051600160a060020a03163314610e17576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b610e5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5f92505050565b156112cf576000610ede60066000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a9004600160a060020a03166136b6565b90506006600182815481101515610ef157fe5b9060005260206000209060050201600301819055506000600182815481101515610f1757fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776600182815481101515610f6f57fe5b600091825260209091206005909102015460018054600160a060020a039092169184908110610f9a57fe5b9060005260206000209060050201600101600184815481101515610fba57fe5b9060005260206000209060050201600201600185815481101515610fda57fe5b60009182526020909120600460059092020101546001805460ff909216918790811061100257fe5b60009182526020918290206003600590920201015460408051600160a060020a038816815284151560608201526080810183905260a0938101848152875460026000196101006001841615020190911604948201859052929390929183019060c0840190889080156110b55780601f1061108a576101008083540402835291602001916110b5565b820191906000526020600020905b81548152906001019060200180831161109857829003601f168201915b50508381038252865460026000196101006001841615020190911604808252602090910190879080156111295780601f106110fe57610100808354040283529160200191611129565b820191906000526020600020905b81548152906001019060200180831161110c57829003601f168201915b505097505050505050505060405180910390a160408051602080820190815260048054600260001961010060018416150201909116049383018490529290918291606090910190849080156111bf5780601f10611194576101008083540402835291602001916111bf565b820191906000526020600020905b8154815290600101906020018083116111a257829003601f168201915b505092505050604051602081830303815290604052805190602001206001828154811015156111ea57fe5b60009182526020918290206040805180850194855260026005909402909201830180546000196101006001831615020116939093049082018190529192918291606001908490801561127d5780601f106112525761010080835404028352916020019161127d565b820191906000526020600020905b81548152906001019060200180831161126057829003601f168201915b50509250505060405160208183030381529060405280519060200120146001828154811015156112a957fe5b6000918252602090912060059091020154909350600160a060020a031691506112d69050565b5060009050805b9250929050565b600160a060020a038116600090815260026020526040812054606090819083908190151561135a575050604080518082018252600481527f4e4f4e45000000000000000000000000000000000000000000000000000000006020808301919091528251908101909252600080835286955090935090915080611542565b6000611365876136b6565b905060018181548110151561137657fe5b600091825260209091206005909102015460018054600160a060020a0390921691839081106113a157fe5b90600052602060002090600502016001016001838154811015156113c157fe5b90600052602060002090600502016002016001848154811015156113e157fe5b90600052602060002090600502016003015460018581548110151561140257fe5b600091825260209182902060046005909202010154845460408051601f6002600019600186161561010002019094169390930492830185900485028101850190915281815260ff909216928691908301828280156114a15780601f10611476576101008083540402835291602001916114a1565b820191906000526020600020905b81548152906001019060200180831161148457829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529599508894509250840190508282801561152f5780601f106115045761010080835404028352916020019161152f565b820191906000526020600020905b81548152906001019060200180831161151257829003601f168201915b5050505050925095509550955095509550505b91939590929450565b6001545b90565b600160a060020a0383166000908152600260205260408120541515611579575060016116a6565b6000611584856136b6565b9050838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001206001828154811015156115e857fe5b906000526020600020906005020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156116855780601f1061165a57610100808354040283529160200191611685565b820191906000526020600020905b81548152906001019060200180831161166857829003601f168201915b50509250505060405160208183030381529060405280519060200120149150505b9392505050565b600160a060020a0381166000908152600260205260409020546060901515611709575060408051808201909152600481527f4e4f4e4500000000000000000000000000000000000000000000000000000000602082015261182a565b6000611714836136b6565b905060018181548110151561172557fe5b90600052602060002090600502016003015460001415156117f357600180548290811061174e57fe5b600091825260209182902060026005909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156117e65780601f106117bb576101008083540402835291602001916117e6565b820191906000526020600020905b8154815290600101906020018083116117c957829003601f168201915b505050505091505061182a565b505060408051808201909152600481527f4e4f4e450000000000000000000000000000000000000000000000000000000060208201525b919050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561187f57600080fd5b505afa158015611893573d6000803e3d6000fd5b505050506040513d60208110156118a957600080fd5b5051600160a060020a031633146118f8576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600160a060020a0387168152600260205260409020548693501515915061199d9050576040805160e560020a62461bcd02815260206004820152601760248201527f6163636f756e7420646f6573206e6f7420657869737473000000000000000000604482015290519081900360640190fd5b816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156119de5781810151838201526020016119c6565b50505050905090810190601f168015611a0b5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001611a31836136b6565b81548110611a3b57fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611ad85780601f10611aad57610100808354040283529160200191611ad8565b820191906000526020600020905b815481529060010190602001808311611abb57829003601f168201915b50509250505060405160208183030381529060405280519060200120141515611b4b576040805160e560020a62461bcd02815260206004820152601860248201527f6163636f756e7420696e20646966666572656e74206f72670000000000000000604482015290519081900360640190fd5b600083118015611b5b5750600683105b1515611bb1576040805160e560020a62461bcd02815260206004820152601d60248201527f696e76616c696420737461747573206368616e67652072657175657374000000604482015290519081900360640190fd5b611bff8487878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612d6b915050565b151560011415611c435760405160e560020a62461bcd0281526004018080602001828103825260318152602001806139da6031913960400191505060405180910390fd5b60008360011415611cc0576001611c59866136b6565b81548110611c6357fe5b9060005260206000209060050201600301546002141515611cb85760405160e560020a62461bcd0281526004018080602001828103825260398152602001806139056039913960400191505060405180910390fd5b506004611ea9565b8360021415611d3b576001611cd4866136b6565b81548110611cde57fe5b9060005260206000209060050201600301546004141515611d335760405160e560020a62461bcd02815260040180806020018281038252603c8152602001806138c9603c913960400191505060405180910390fd5b506002611ea9565b8360031415611db7576001611d4f866136b6565b81548110611d5957fe5b906000526020600020906005020160030154600514151515611daf5760405160e560020a62461bcd0281526004018080602001828103825260388152602001806138716038913960400191505060405180910390fd5b506005611ea9565b8360041415611e32576001611dcb866136b6565b81548110611dd557fe5b9060005260206000209060050201600301546005141515611e2a5760405160e560020a62461bcd0281526004018080602001828103825260348152602001806139a66034913960400191505060405180910390fd5b506007611ea9565b8360051415611ea9576001611e46866136b6565b81548110611e5057fe5b9060005260206000209060050201600301546007141515611ea55760405160e560020a62461bcd0281526004018080602001828103825260388152602001806138396038913960400191505060405180910390fd5b5060025b806001611eb5876136b6565b81548110611ebf57fe5b9060005260206000209060050201600301819055507f36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b25858888846040518085600160a060020a0316600160a060020a03168152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a150505050505050565b600080600160a060020a031660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611fb0578181015183820152602001611f98565b50505050905090810190601f168015611fdd5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a0316146120d257600060066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561205c578181015183820152602001612044565b50505050905090810190601f1680156120895780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a031690506120c7816136d5565b60021491505061182a565b506000919050565b60006060806000806001868154811015156120f157fe5b600091825260209091206005909102015460018054600160a060020a03909216918890811061211c57fe5b906000526020600020906005020160010160018881548110151561213c57fe5b906000526020600020906005020160020160018981548110151561215c57fe5b90600052602060002090600502016003015460018a81548110151561217d57fe5b600091825260209182902060046005909202010154845460408051601f6002600019600186161561010002019094169390930492830185900485028101850190915281815260ff9092169286919083018282801561221c5780601f106121f15761010080835404028352916020019161221c565b820191906000526020600020905b8154815290600101906020018083116121ff57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156122aa5780601f1061227f576101008083540402835291602001916122aa565b820191906000526020600020905b81548152906001019060200180831161228d57829003601f168201915b505050505092509450945094509450945091939590929450565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561231657600080fd5b505afa15801561232a573d6000803e3d6000fd5b505050506040513d602081101561234057600080fd5b5051600160a060020a0316331461238f576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b606061239a836116ad565b905060006123a7846136d5565b905060006123b4856136b6565b604080516020808201908152600580546002600019610100600184161502019091160493830184905293945091829160600190849080156124365780601f1061240b57610100808354040283529160200191612436565b820191906000526020600020905b81548152906001019060200180831161241957829003601f168201915b50509250505060405160208183030381529060405280519060200120836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561249357818101518382015260200161247b565b50505050905090810190601f1680156124c05780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001201480156124e85750816001145b15612578578460066000898960405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a815481600160a060020a030219169083600160a060020a031602179055505b600260018281548110151561258957fe5b906000526020600020906005020160030181905550600180828154811015156125ae57fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc7768560018381548110151561260757fe5b906000526020600020906005020160010160018481548110151561262757fe5b906000526020600020906005020160020160018581548110151561264757fe5b60009182526020909120600460059092020101546001805460ff909216918790811061266f57fe5b60009182526020918290206003600590920201015460408051600160a060020a038816815284151560608201526080810183905260a0938101848152875460026000196101006001841615020190911604948201859052929390929183019060c0840190889080156127225780601f106126f757610100808354040283529160200191612722565b820191906000526020600020905b81548152906001019060200180831161270557829003601f168201915b50508381038252865460026000196101006001841615020190911604808252602090910190879080156127965780601f1061276b57610100808354040283529160200191612796565b820191906000526020600020905b81548152906001019060200180831161277957829003601f168201915b505097505050505050505060405180910390a1604080516020808201908152600480546002600019610100600184161502019091160493830184905292909182916060909101908490801561282c5780601f106128015761010080835404028352916020019161282c565b820191906000526020600020905b81548152906001019060200180831161280f57829003601f168201915b5050925050506040516020818303038152906040528051906020012060018281548110151561285757fe5b6000918252602091829020604080518085019485526002600590940290920183018054600019610100600183161502011693909304908201819052919291829160600190849080156128ea5780601f106128bf576101008083540402835291602001916128ea565b820191906000526020600020905b8154815290600101906020018083116128cd57829003601f168201915b505092505050604051602081830303815290604052805190602001201493505050509392505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506040513d602081101561298d57600080fd5b5051600160a060020a031633146129dc576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b6129e860048585613732565b506129f560058383613732565b5050505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612a4c57600080fd5b505afa158015612a60573d6000803e3d6000fd5b505050506040513d6020811015612a7657600080fd5b5051600160a060020a03163314612ac5576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b6040805160208082019081526005805460026000196101006001841615020190911604938301849052929091829160609091019084908015612b485780601f10612b1d57610100808354040283529160200191612b48565b820191906000526020600020905b815481529060010190602001808311612b2b57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001201480612cb257506040805160208082019081526004805460026000196101006001841615020190911604938301849052929091829160609091019084908015612c415780601f10612c1657610100808354040283529160200191612c41565b820191906000526020600020905b815481529060010190602001808311612c2457829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120145b1515612cf25760405160e560020a62461bcd02815260040180806020018281038252602881526020018061393e6028913960400191505060405180910390fd5b610d388686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250879250600191506132d29050565b60408051602080820190815260048054600260001961010060018416150201909116049383018490526000939092829160609091019084908015612df05780601f10612dc557610100808354040283529160200191612df0565b820191906000526020600020905b815481529060010190602001808311612dd357829003601f168201915b50509250505060405160208183030381529060405280519060200120612e15856116ad565b6040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612e55578181015183820152602001612e3d565b50505050905090810190601f168015612e825780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001201415613163576000612eae856136b6565b9050836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612ef1578181015183820152602001612ed9565b50505050905090810190601f168015612f1e5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120600182815481101515612f4857fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612fe55780601f10612fba57610100808354040283529160200191612fe5565b820191906000526020600020905b815481529060010190602001808311612fc857829003601f168201915b50509250505060405160208183030381529060405280519060200120148061315b5750826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613049578181015183820152602001613031565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001828154811015156130a057fe5b9060005260206000209060050201600101604051602001808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561313d5780601f106131125761010080835404028352916020019161313d565b820191906000526020600020905b81548152906001019060200180831161312057829003601f168201915b50509250505060405160208183030381529060405280519060200120145b9150506116a6565b83600160a060020a031660066000856040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156131b257818101518382015260200161319a565b50505050905090810190601f1680156131df5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a031614806132ca575083600160a060020a031660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613268578181015183820152602001613250565b50505050905090810190601f1680156132955780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a0316145b949350505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561332257600080fd5b505afa158015613336573d6000803e3d6000fd5b505050506040513d602081101561334c57600080fd5b5051600160a060020a0316331461339b576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b60006133a6866136b6565b600160a060020a0387166000908152600260205260409020549091501561345857836001828154811015156133d757fe5b906000526020600020906005020160020190805190602001906133fb9291906137b0565b508260018281548110151561340c57fe5b9060005260206000209060050201600301819055508160018281548110151561343157fe5b60009182526020909120600590910201600401805460ff1916911515919091179055613580565b60038054600190810191829055600160a060020a03888116600081815260026020908152604080832096909655855160a0810187529283528281018b81529583018a905260608301899052871515608084015284548086018087559590925282517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66005909302928301805473ffffffffffffffffffffffffffffffffffffffff191691909516178455945180519495929461353d937fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf79093019291909101906137b0565b50604082015180516135599160028401916020909101906137b0565b50606082015160038201556080909101516004909101805460ff1916911515919091179055505b7f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc77686868685876040518086600160a060020a0316600160a060020a03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561360f5781810151838201526020016135f7565b50505050905090810190601f16801561363c5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561366f578181015183820152602001613657565b50505050905090810190601f16801561369c5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1505050505050565b600160a060020a03166000908152600260205260409020546000190190565b600160a060020a03811660009081526002602052604081205415156136fc5750600061182a565b6000613707836136b6565b905060018181548110151561371857fe5b906000526020600020906005020160030154915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106137735782800160ff198235161785556137a0565b828001600101855582156137a0579182015b828111156137a0578235825591602001919060010190613785565b506137ac92915061381e565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106137f157805160ff19168380011785556137a0565b828001600101855582156137a0579182015b828111156137a0578251825591602001919060010190613803565b61154f91905b808211156137ac576000815560010161382456fe6163636f756e74207265636f76657279206e6f7420696e697469617465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e7420697320616c726561647920626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e65696e76616c69642063616c6c65720000000000000000000000000000000000006163636f756e74206973206e6f7420696e2073757370656e646564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e20616374697665207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e6563616e2062652063616c6c656420746f2061737369676e2061646d696e20726f6c6573206f6e6c7963616e6e6f742062652063616c6c65642066726f2061737369676e696e67206f72672061646d696e20616e64206e6574776f726b2061646d696e20726f6c65736163636f756e74206973206e6f7420626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e65737461747573206368616e6765206e6f7420706f737369626c6520666f72206f72672061646d696e206163636f756e7473a165627a7a723058206647d423d0279bc57c8c51e6154d68e637c7e951d83eb8b973141b431f437cca0029` +const AcctManagerBin = `608060405234801561001057600080fd5b50604051602080620048c18339810180604052602081101561003157600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061482e80620000936000396000f3fe608060405234801561001057600080fd5b50600436106100ec576000357c01000000000000000000000000000000000000000000000000000000009004806384b7a84a116100a9578063c214e5e511610083578063c214e5e514610877578063cef7f6af14610928578063e3483a9d146109f6578063e8b42bf414610aee576100ec565b806384b7a84a146105a9578063950145cf1461064c578063b20185681461071f576100ec565b8063143a5604146100f15780631d09dc93146101eb5780632aceb534146102af578063309e36ef1461041d5780636b568d761461043b57806381d66b23146104ec575b600080fd5b6101e96004803603608081101561010757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561014457600080fd5b82018360208201111561015657600080fd5b8035906020019184600183028401116401000000008311171561017857600080fd5b90919293919293908035906020019064010000000081111561019957600080fd5b8201836020820111156101ab57600080fd5b803590602001918460018302840111640100000000831117156101cd57600080fd5b9091929391929390803515159060200190929190505050610c78565b005b6102626004803603602081101561020157600080fd5b810190808035906020019064010000000081111561021e57600080fd5b82018360208201111561023057600080fd5b8035906020019184600183028401116401000000008311171561025257600080fd5b9091929391929390505050611157565b60405180831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b6102f1600480360360208110156102c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611823565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b8381101561037757808201518184015260208101905061035c565b50505050905090810190601f1680156103a45780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b838110156103dd5780820151818401526020810190506103c2565b50505050905090810190601f16801561040a5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610425611afe565b6040518082815260200191505060405180910390f35b6104d26004803603604081101561045157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561048e57600080fd5b8201836020820111156104a057600080fd5b803590602001918460018302840111640100000000831117156104c257600080fd5b9091929391929390505050611b0b565b604051808215151515815260200191505060405180910390f35b61052e6004803603602081101561050257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c91565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561056e578082015181840152602081019050610553565b50505050905090810190601f16801561059b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61064a600480360360608110156105bf57600080fd5b81019080803590602001906401000000008111156105dc57600080fd5b8201836020820111156105ee57600080fd5b8035906020019184600183028401116401000000008311171561061057600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e4f565b005b6107056004803603602081101561066257600080fd5b810190808035906020019064010000000081111561067f57600080fd5b82018360208201111561069157600080fd5b803590602001918460018302840111640100000000831117156106b357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612781565b604051808215151515815260200191505060405180910390f35b61074b6004803603602081101561073557600080fd5b8101908080359060200190929190505050612957565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b8381101561083757808201518184015260208101905061081c565b50505050905090810190601f1680156108645780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b61090e6004803603604081101561088d57600080fd5b81019080803590602001906401000000008111156108aa57600080fd5b8201836020820111156108bc57600080fd5b803590602001918460018302840111640100000000831117156108de57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b7a565b604051808215151515815260200191505060405180910390f35b6109f46004803603604081101561093e57600080fd5b810190808035906020019064010000000081111561095b57600080fd5b82018360208201111561096d57600080fd5b8035906020019184600183028401116401000000008311171561098f57600080fd5b9091929391929390803590602001906401000000008111156109b057600080fd5b8201836020820111156109c257600080fd5b803590602001918460018302840111640100000000831117156109e457600080fd5b90919293919293905050506132e3565b005b610aec60048036036080811015610a0c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a4957600080fd5b820183602082011115610a5b57600080fd5b80359060200191846001830284011164010000000083111715610a7d57600080fd5b909192939192939080359060200190640100000000811115610a9e57600080fd5b820183602082011115610ab057600080fd5b80359060200191846001830284011164010000000083111715610ad257600080fd5b90919293919293908035906020019092919050505061346d565b005b610c5e60048036036060811015610b0457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610b4157600080fd5b820183602082011115610b5357600080fd5b80359060200191846001830284011164010000000083111715610b7557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610bd857600080fd5b820183602082011115610bea57600080fd5b80359060200191846001830284011164010000000083111715610c0c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506138c5565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610cfb57600080fd5b505afa158015610d0f573d6000803e3d6000fd5b505050506040513d6020811015610d2557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60046040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610e665780601f10610e3b57610100808354040283529160200191610e66565b820191906000526020600020905b815481529060010190602001808311610e4957829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015611062575060056040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610f6c5780601f10610f4157610100808354040283529160200191610f6c565b820191906000526020600020905b815481529060010190602001808311610f4f57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611017578082015181840152602081019050610ffc565b50505050905090810190601f1680156110445780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012014155b15156110b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604081526020018061475e6040913960400191505060405180910390fd5b61114f8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600285613ebc565b505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156111dd57600080fd5b505afa1580156111f1573d6000803e3d6000fd5b505050506040513d602081101561120757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b61130784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612781565b1561181157600061139c60066000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166143d6565b905060066001828154811015156113af57fe5b90600052602060002090600502016003018190555060006001828154811015156113d557fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc77660018281548110151561142d57fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018381548110151561146e57fe5b906000526020600020906005020160010160018481548110151561148e57fe5b90600052602060002090600502016002016001858154811015156114ae57fe5b906000526020600020906005020160040160009054906101000a900460ff166001868154811015156114dc57fe5b906000526020600020906005020160030154604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001851515151581526020018481526020018381038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156115bd5780601f10611592576101008083540402835291602001916115bd565b820191906000526020600020905b8154815290600101906020018083116115a057829003601f168201915b50508381038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156116405780601f1061161557610100808354040283529160200191611640565b820191906000526020600020905b81548152906001019060200180831161162357829003601f168201915b505097505050505050505060405180910390a1600460405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156116e15780601f106116b6576101008083540402835291602001916116e1565b820191906000526020600020905b8154815290600101906020018083116116c457829003601f168201915b5050925050506040516020818303038152906040528051906020012060018281548110151561170c57fe5b906000526020600020906005020160020160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156117a95780601f1061177e576101008083540402835291602001916117a9565b820191906000526020600020905b81548152906001019060200180831161178c57829003601f168201915b50509250505060405160208183030381529060405280519060200120146001828154811015156117d557fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925092505061181c565b600080809050915091505b9250929050565b60006060806000806000600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156118d457856000806040805190810160405280600481526020017f4e4f4e450000000000000000000000000000000000000000000000000000000081525091906020604051908101604052806000815250919081915094509450945094509450611af5565b60006118df876143d6565b90506001818154811015156118f057fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018281548110151561193157fe5b906000526020600020906005020160010160018381548110151561195157fe5b906000526020600020906005020160020160018481548110151561197157fe5b90600052602060002090600502016003015460018581548110151561199257fe5b906000526020600020906005020160040160009054906101000a900460ff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a465780601f10611a1b57610100808354040283529160200191611a46565b820191906000526020600020905b815481529060010190602001808311611a2957829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ae25780601f10611ab757610100808354040283529160200191611ae2565b820191906000526020600020905b815481529060010190602001808311611ac557829003601f168201915b5050505050925095509550955095509550505b91939590929450565b6000600180549050905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611b5d5760019050611c8a565b6000611b68856143d6565b9050838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120600182815481101515611bcc57fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611c695780601f10611c3e57610100808354040283529160200191611c69565b820191906000526020600020905b815481529060010190602001808311611c4c57829003601f168201915b50509250505060405160208183030381529060405280519060200120149150505b9392505050565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611d18576040805190810160405280600481526020017f4e4f4e45000000000000000000000000000000000000000000000000000000008152509050611e4a565b6000611d23836143d6565b90506000600182815481101515611d3657fe5b906000526020600020906005020160030154141515611e1057600181815481101515611d5e57fe5b90600052602060002090600502016002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e035780601f10611dd857610100808354040283529160200191611e03565b820191906000526020600020905b815481529060010190602001808311611de657829003601f168201915b5050505050915050611e4a565b6040805190810160405280600481526020017f4e4f4e45000000000000000000000000000000000000000000000000000000008152509150505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611ed257600080fd5b505afa158015611ee6573d6000803e3d6000fd5b505050506040513d6020811015611efc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611faf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050826000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6163636f756e7420646f6573206e6f742065786973747300000000000000000081525060200191505060405180910390fd5b816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156120f15780820151818401526020810190506120d6565b50505050905090810190601f16801561211e5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001612144836143d6565b81548110151561215057fe5b906000526020600020906005020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121ed5780601f106121c2576101008083540402835291602001916121ed565b820191906000526020600020905b8154815290600101906020018083116121d057829003601f168201915b5050925050506040516020818303038152906040528051906020012014151561227e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6163636f756e7420696e20646966666572656e74206f7267000000000000000081525060200191505060405180910390fd5b60008311801561228e5750600683105b1515612302576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f696e76616c696420737461747573206368616e6765207265717565737400000081525060200191505060405180910390fd5b600115156123658588888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060206040519081016040528060008152506138c5565b1515141515156123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806147d26031913960400191505060405180910390fd5b6000600184141561245757600260016123d8876143d6565b8154811015156123e457fe5b90600052602060002090600502016003015414151561244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806146fd6039913960400191505060405180910390fd5b600490506126ac565b60028414156124ec576004600161246d876143d6565b81548110151561247957fe5b9060005260206000209060050201600301541415156124e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806146c1603c913960400191505060405180910390fd5b600290506126ab565b60038414156125825760056001612502876143d6565b81548110151561250e57fe5b90600052602060002090600502016003015414151515612579576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806146896038913960400191505060405180910390fd5b600590506126aa565b60048414156126175760056001612598876143d6565b8154811015156125a457fe5b90600052602060002090600502016003015414151561260e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061479e6034913960400191505060405180910390fd5b600790506126a9565b60058414156126a8576007600161262d876143d6565b81548110151561263957fe5b9060005260206000209060050201600301541415156126a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806146516038913960400191505060405180910390fd5b600290505b5b5b5b5b8060016126b8876143d6565b8154811015156126c457fe5b9060005260206000209060050201600301819055507f36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b2585888884604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018381526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405180910390a150505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156127e25780820151818401526020810190506127c7565b50505050905090810190601f16801561280f5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561294d57600060066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156128c05780820151818401526020810190506128a5565b50505050905090810190601f1680156128ed5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600261294482614422565b14915050612952565b600090505b919050565b600060608060008060018681548110151561296e57fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001878154811015156129af57fe5b90600052602060002090600502016001016001888154811015156129cf57fe5b90600052602060002090600502016002016001898154811015156129ef57fe5b90600052602060002090600502016003015460018a815481101515612a1057fe5b906000526020600020906005020160040160009054906101000a900460ff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612ac45780601f10612a9957610100808354040283529160200191612ac4565b820191906000526020600020905b815481529060010190602001808311612aa757829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b605780601f10612b3557610100808354040283529160200191612b60565b820191906000526020600020905b815481529060010190602001808311612b4357829003601f168201915b505050505092509450945094509450945091939590929450565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015612bff57600080fd5b505afa158015612c13573d6000803e3d6000fd5b505050506040513d6020811015612c2957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612cdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6060612ce783611c91565b90506000612cf484614422565b90506000612d01856143d6565b905060056040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612d915780601f10612d6657610100808354040283529160200191612d91565b820191906000526020600020905b815481529060010190602001808311612d7457829003601f168201915b50509250505060405160208183030381529060405280519060200120836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612df1578082015181840152602081019050612dd6565b50505050905090810190601f168015612e1e5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120148015612e465750600182145b15612ef0578460066000898960405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6002600182815481101515612f0157fe5b90600052602060002090600502016003018190555060018082815481101515612f2657fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc77685600183815481101515612f7f57fe5b9060005260206000209060050201600101600184815481101515612f9f57fe5b9060005260206000209060050201600201600185815481101515612fbf57fe5b906000526020600020906005020160040160009054906101000a900460ff16600186815481101515612fed57fe5b906000526020600020906005020160030154604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001851515151581526020018481526020018381038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156130ce5780601f106130a3576101008083540402835291602001916130ce565b820191906000526020600020905b8154815290600101906020018083116130b157829003601f168201915b50508381038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131515780601f1061312657610100808354040283529160200191613151565b820191906000526020600020905b81548152906001019060200180831161313457829003601f168201915b505097505050505050505060405180910390a1600460405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131f25780601f106131c7576101008083540402835291602001916131f2565b820191906000526020600020905b8154815290600101906020018083116131d557829003601f168201915b5050925050506040516020818303038152906040528051906020012060018281548110151561321d57fe5b906000526020600020906005020160020160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132ba5780601f1061328f576101008083540402835291602001916132ba565b820191906000526020600020905b81548152906001019060200180831161329d57829003601f168201915b505092505050604051602081830303815290604052805190602001201493505050509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561336657600080fd5b505afa15801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b8383600491906134549291906144ab565b508181600591906134669291906144ab565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156134f057600080fd5b505afa158015613504573d6000803e3d6000fd5b505050506040513d602081101561351a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156135cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6005604051602001808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561365b5780601f106136305761010080835404028352916020019161365b565b820191906000526020600020905b81548152906001019060200180831161363e57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014806137d057506004604051602001808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561375f5780601f106137345761010080835404028352916020019161375f565b820191906000526020600020905b81548152906001019060200180831161374257829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120145b1515613827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806147366028913960400191505060405180910390fd5b6138bd8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050846001613ebc565b505050505050565b6000600460405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156139555780601f1061392a57610100808354040283529160200191613955565b820191906000526020600020905b81548152906001019060200180831161393857829003601f168201915b5050925050506040516020818303038152906040528051906020012061397a85611c91565b6040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156139bd5780820151818401526020810190506139a2565b50505050905090810190601f1680156139ea5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001201415613cd1576000613a16856143d6565b9050836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613a5c578082015181840152602081019050613a41565b50505050905090810190601f168015613a895780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120600182815481101515613ab357fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613b505780601f10613b2557610100808354040283529160200191613b50565b820191906000526020600020905b815481529060010190602001808311613b3357829003601f168201915b505092505050604051602081830303815290604052805190602001201480613cc95750826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613bb7578082015181840152602081019050613b9c565b50505050905090810190601f168015613be45780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120600182815481101515613c0e57fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613cab5780601f10613c8057610100808354040283529160200191613cab565b820191906000526020600020905b815481529060010190602001808311613c8e57829003601f168201915b50509250505060405160208183030381529060405280519060200120145b915050613eb5565b8373ffffffffffffffffffffffffffffffffffffffff1660066000856040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613d30578082015181840152602081019050613d15565b50505050905090810190601f168015613d5d5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480613eb257508373ffffffffffffffffffffffffffffffffffffffff1660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613e23578082015181840152602081019050613e08565b50505050905090810190601f168015613e505780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b90505b9392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613f3f57600080fd5b505afa158015613f53573d6000803e3d6000fd5b505050506040513d6020811015613f6957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561401c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6000614027866143d6565b90506000600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515614109578360018281548110151561408257fe5b906000526020600020906005020160020190805190602001906140a692919061452b565b50826001828154811015156140b757fe5b906000526020600020906005020160030181905550816001828154811015156140dc57fe5b906000526020600020906005020160040160006101000a81548160ff02191690831515021790555061427d565b600360008154809291906001019190505550600354600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160a0604051908101604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018581526020018415158152509080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010190805190602001906142319291906145ab565b50604082015181600201908051906020019061424e9291906145ab565b506060820151816003015560808201518160040160006101000a81548160ff0219169083151502179055505050505b7f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc7768686868587604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561432957808201518184015260208101905061430e565b50505050905090810190601f1680156143565780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b8381101561438f578082015181840152602081019050614374565b50505050905090810190601f1680156143bc5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1505050505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054039050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561447457600090506144a6565b600061447f836143d6565b905060018181548110151561449057fe5b9060005260206000209060050201600301549150505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106144ec57803560ff191683800117855561451a565b8280016001018555821561451a579182015b828111156145195782358255916020019190600101906144fe565b5b509050614527919061462b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061456c57805160ff191683800117855561459a565b8280016001018555821561459a579182015b8281111561459957825182559160200191906001019061457e565b5b5090506145a7919061462b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106145ec57805160ff191683800117855561461a565b8280016001018555821561461a579182015b828111156146195782518255916020019190600101906145fe565b5b509050614627919061462b565b5090565b61464d91905b80821115614649576000816000905550600101614631565b5090565b9056fe6163636f756e74207265636f76657279206e6f7420696e697469617465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e7420697320616c726561647920626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e2073757370656e646564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e20616374697665207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e6563616e2062652063616c6c656420746f2061737369676e2061646d696e20726f6c6573206f6e6c7963616e6e6f742062652063616c6c65642066726f2061737369676e696e67206f72672061646d696e20616e64206e6574776f726b2061646d696e20726f6c65736163636f756e74206973206e6f7420626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e65737461747573206368616e6765206e6f7420706f737369626c6520666f72206f72672061646d696e206163636f756e7473a165627a7a723058201a85faea2a42d6b5f259c935879fff7b0586d227c45d0817e490f562316524da0029` // DeployAcctManager deploys a new Ethereum contract, binding an instance of AcctManager to it. func DeployAcctManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *AcctManager, error) { diff --git a/permission/bind/nodes.go b/permission/bind/nodes.go index 3227919de..72373d237 100644 --- a/permission/bind/nodes.go +++ b/permission/bind/nodes.go @@ -31,7 +31,7 @@ var ( const NodeManagerABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"enodeId\",\"type\":\"string\"}],\"name\":\"getNodeDetails\",\"outputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_nodeStatus\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addOrgNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"approveNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_nodeIndex\",\"type\":\"uint256\"}],\"name\":\"getNodeDetailsFromIndex\",\"outputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_nodeStatus\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfNodes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"addAdminNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeBlacklisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeRecoveryInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_enodeId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"NodeRecoveryCompleted\",\"type\":\"event\"}]" // NodeManagerBin is the compiled bytecode used for deploying new contracts. -const NodeManagerBin = `608060405234801561001057600080fd5b506040516020806125388339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a03199092169190911790556124d6806100626000396000f3fe608060405234801561001057600080fd5b506004361061008c5760003560e060020a9004806397c07a9b1161005f57806397c07a9b1461042e578063a97a44061461044b578063b81c806a1461050d578063e3b09d84146102aa5761008c565b80630cc50146146100915780633f0e0e47146101555780633f5e1a45146102aa57806386bc36521461036c575b600080fd5b610153600480360360608110156100a757600080fd5b8101906020810181356401000000008111156100c257600080fd5b8201836020820111156100d457600080fd5b803590602001918460018302840111640100000000831117156100f657600080fd5b91939092909160208101903564010000000081111561011457600080fd5b82018360208201111561012657600080fd5b8035906020019184600183028401116401000000008311171561014857600080fd5b919350915035610527565b005b6101c56004803603602081101561016b57600080fd5b81019060208101813564010000000081111561018657600080fd5b82018360208201111561019857600080fd5b803590602001918460018302840111640100000000831117156101ba57600080fd5b509092509050610f34565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561020c5781810151838201526020016101f4565b50505050905090810190601f1680156102395780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b610153600480360360408110156102c057600080fd5b8101906020810181356401000000008111156102db57600080fd5b8201836020820111156102ed57600080fd5b8035906020019184600183028401116401000000008311171561030f57600080fd5b91939092909160208101903564010000000081111561032d57600080fd5b82018360208201111561033f57600080fd5b8035906020019184600183028401116401000000008311171561036157600080fd5b50909250905061120b565b6101536004803603604081101561038257600080fd5b81019060208101813564010000000081111561039d57600080fd5b8201836020820111156103af57600080fd5b803590602001918460018302840111640100000000831117156103d157600080fd5b9193909290916020810190356401000000008111156103ef57600080fd5b82018360208201111561040157600080fd5b8035906020019184600183028401116401000000008311171561042357600080fd5b5090925090506115e2565b6101c56004803603602081101561044457600080fd5b5035611b01565b6101536004803603604081101561046157600080fd5b81019060208101813564010000000081111561047c57600080fd5b82018360208201111561048e57600080fd5b803590602001918460018302840111640100000000831117156104b057600080fd5b9193909290916020810190356401000000008111156104ce57600080fd5b8201836020820111156104e057600080fd5b8035906020019184600183028401116401000000008311171561050257600080fd5b509092509050611c90565b610515612067565b60408051918252519081900360200190f35b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d60208110156105a157600080fd5b5051600160a060020a031633146105f0576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b8381101561066d578181015183820152602001610655565b50505050905090810190601f16801561069a5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054151561071a576040805160e560020a62461bcd02815260206004820152601e60248201527f70617373656420656e6f646520696420646f6573206e6f742065786973740000604482015290519081900360640190fd5b61078d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061206e92505050565b15156107cd5760405160e560020a62461bcd02815260040180806020018281038252602a8152602001806123ee602a913960400191505060405180910390fd5b81600114806107dc5750816002145b806107e75750816003145b806107f25750816004145b806107fd5750816005145b151561083d5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806124586026913960400191505060405180910390fd5b81600114156109bd5761088586868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b6002146108ca576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b6003600161090d88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b8154811061091757fe5b9060005260206000209060030201600201819055507fc6c3720fe673e87bb26e06be713d514278aa94c3939cfe7c64b9bea4d486824a868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b8160021415610b3d57610a0586868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b600314610a4a576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b60026001610a8d88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610a9757fe5b9060005260206000209060030201600201819055507f49796be3ca168a59c8ae46c75a36a9bb3a84753d3e12a812f93ae010e783b14f868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b8160031415610c395760046001610b8988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610b9357fe5b9060005260206000209060030201600201819055507f4714623279994517c446c8fb72c3fdaca26434da1e2490d3976fe0cd880cfa7a868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b8160041415610db957610c8186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b600414610cc6576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b60056001610d0988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610d1357fe5b9060005260206000209060030201600201819055507ffd385c618a1e89d01fb9a21780846793e282e8bc0b60caf6ccb3e422d543fbfb868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b610df886868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b600514610e3d576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b60026001610e8088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610e8a57fe5b9060005260206000209060030201600201819055507f787d7bc525e7c4658c64e3e456d974a1be21cc196e8162a4bf1337a12cb38dac868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15b505050505050565b606080600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015610f7e578181015183820152602001610f66565b50505050905090810190601f168015610fab5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020546000141561103c5784846000602060405190810160405280600081525092919082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969950919750919550611204945050505050565b600061107d86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b905060018181548110151561108e57fe5b90600052602060002090600302016001016001828154811015156110ae57fe5b90600052602060002090600302016000016001838154811015156110ce57fe5b60009182526020918290206002600390920201810154845460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835290928591908301828280156111675780601f1061113c57610100808354040283529160200191611167565b820191906000526020600020905b81548152906001019060200180831161114a57829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959850879450925084019050828280156111f55780601f106111ca576101008083540402835291602001916111f5565b820191906000526020600020905b8154815290600101906020018083116111d857829003601f168201915b50505050509150935093509350505b9250925092565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561125b57600080fd5b505afa15801561126f573d6000803e3d6000fd5b505050506040513d602081101561128557600080fd5b5051600160a060020a031633146112d4576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b83811015611351578181015183820152602001611339565b50505050905090810190601f16801561137e5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054156113fd576040805160e560020a62461bcd02815260206004820152601660248201527f70617373656420656e6f64652069642065786973747300000000000000000000604482015290519081900360640190fd5b6003805460010190819055604080516020808201908152918101879052600291600091899189918190606001848480828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f88018190048102820181019092528681529181019190879087908190840183828082843760009201829052509385525050600260209384015250835460018101808655948252908290208351805160039093029091019261152892849290910190612355565b5060208281015180516115419260018501920190612355565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561163257600080fd5b505afa158015611646573d6000803e3d6000fd5b505050506040513d602081101561165c57600080fd5b5051600160a060020a031633146116ab576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b83811015611728578181015183820152602001611710565b50505050905090810190601f1680156117555780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181528151602092830120865290850195909552505050016000205415156117d5576040805160e560020a62461bcd02815260206004820152601e60248201527f70617373656420656e6f646520696420646f6573206e6f742065786973740000604482015290519081900360640190fd5b61184885858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525061206e92505050565b15156118885760405160e560020a62461bcd02815260040180806020018281038252602d81526020018061247e602d913960400191505060405180910390fd5b6118c785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b60011461191e576040805160e560020a62461bcd02815260206004820152601c60248201527f6e6f7468696e672070656e64696e6720666f7220617070726f76616c00000000604482015290519081900360640190fd5b600061195f86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b9050600260018281548110151561197257fe5b9060005260206000209060030201600201819055507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d6001828154811015156119b757fe5b90600052602060002090600302016000016001838154811015156119d757fe5b9060005260206000209060030201600101604051808060200180602001838103835285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a755780601f10611a4a57610100808354040283529160200191611a75565b820191906000526020600020905b815481529060010190602001808311611a5857829003601f168201915b5050838103825284546002600019610100600184161502019091160480825260209091019085908015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b505094505050505060405180910390a1505050505050565b6060806000600184815481101515611b1557fe5b9060005260206000209060030201600101600185815481101515611b3557fe5b9060005260206000209060030201600001600186815481101515611b5557fe5b60009182526020918290206002600390920201810154845460408051601f600019610100600186161502019093169490940491820185900485028401850190528083529092859190830182828015611bee5780601f10611bc357610100808354040283529160200191611bee565b820191906000526020600020905b815481529060010190602001808311611bd157829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295985087945092508401905082828015611c7c5780601f10611c5157610100808354040283529160200191611c7c565b820191906000526020600020905b815481529060010190602001808311611c5f57829003601f168201915b505050505091509250925092509193909250565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611ce057600080fd5b505afa158015611cf4573d6000803e3d6000fd5b505050506040513d6020811015611d0a57600080fd5b5051600160a060020a03163314611d59576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b83811015611dd6578181015183820152602001611dbe565b50505050905090810190601f168015611e035780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181528151602092830120865290850195909552505050016000205415611e82576040805160e560020a62461bcd02815260206004820152601660248201527f70617373656420656e6f64652069642065786973747300000000000000000000604482015290519081900360640190fd5b6003805460010190819055604080516020808201908152918101879052600291600091899189918190606001848480828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f880181900481028201810190925286815291810191908790879081908401838280828437600092018290525093855250506001602093840181905285549081018087559583529183902084518051600390940290910193611fad93859350910190612355565b506020828101518051611fc69260018501920190612355565b50604082015181600201555050507fb1a7eec7dd1a516c3132d6d1f770758b19aa34c3a07c138caf662688b7e3556f858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b6003545b90565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156120b1578181015183820152602001612099565b50505050905090810190601f1680156120de5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001612104856122ad565b8154811061210e57fe5b906000526020600020906003020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121ab5780601f10612180576101008083540402835291602001916121ab565b820191906000526020600020905b81548152906001019060200180831161218e57829003601f168201915b5050925050506040516020818303038152906040528051906020012014905092915050565b600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156122175781810151838201526020016121ff565b50505050905090810190601f1680156122445780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020546000141561227e575060006122a8565b6001612289836122ad565b8154811061229357fe5b90600052602060002090600302016002015490505b919050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156122f65781810151838201526020016122de565b50505050905090810190601f1680156123235780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061239657805160ff19168380011785556123c3565b828001600101855582156123c3579182015b828111156123c35782518255916020019190600101906123a8565b506123cf9291506123d3565b5090565b61206b91905b808211156123cf57600081556001016123d956fe656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f72676f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000696e76616c69642063616c6c6572000000000000000000000000000000000000696e76616c6964206f7065726174696f6e2e2077726f6e6720616374696f6e20706173736564656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267206964a165627a7a723058207cff3ea081a38532b1cbb3e26bd877ba18520c5b7e5f9b83e640fb5e931efcad0029` +const NodeManagerBin = `608060405234801561001057600080fd5b506040516020806132d98339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613248806100916000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806397c07a9b1161007857806397c07a9b14610483578063a97a44061461059d578063b81c806a1461066b578063e3b09d8414610689576100a5565b80630cc50146146100aa5780633f0e0e47146101825780633f5e1a45146102e757806386bc3652146103b5575b600080fd5b610180600480360360608110156100c057600080fd5b81019080803590602001906401000000008111156100dd57600080fd5b8201836020820111156100ef57600080fd5b8035906020019184600183028401116401000000008311171561011157600080fd5b90919293919293908035906020019064010000000081111561013257600080fd5b82018360208201111561014457600080fd5b8035906020019184600183028401116401000000008311171561016657600080fd5b909192939192939080359060200190929190505050610757565b005b6101f96004803603602081101561019857600080fd5b81019080803590602001906401000000008111156101b557600080fd5b8201836020820111156101c757600080fd5b803590602001918460018302840111640100000000831117156101e957600080fd5b9091929391929390505050611404565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015610243578082015181840152602081019050610228565b50505050905090810190601f1680156102705780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156102a957808201518184015260208101905061028e565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103b3600480360360408110156102fd57600080fd5b810190808035906020019064010000000081111561031a57600080fd5b82018360208201111561032c57600080fd5b8035906020019184600183028401116401000000008311171561034e57600080fd5b90919293919293908035906020019064010000000081111561036f57600080fd5b82018360208201111561038157600080fd5b803590602001918460018302840111640100000000831117156103a357600080fd5b9091929391929390505050611718565b005b610481600480360360408110156103cb57600080fd5b81019080803590602001906401000000008111156103e857600080fd5b8201836020820111156103fa57600080fd5b8035906020019184600183028401116401000000008311171561041c57600080fd5b90919293919293908035906020019064010000000081111561043d57600080fd5b82018360208201111561044f57600080fd5b8035906020019184600183028401116401000000008311171561047157600080fd5b9091929391929390505050611c08565b005b6104af6004803603602081101561049957600080fd5b8101908080359060200190929190505050612271565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156104f95780820151818401526020810190506104de565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561055f578082015181840152602081019050610544565b50505050905090810190601f16801561058c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b610669600480360360408110156105b357600080fd5b81019080803590602001906401000000008111156105d057600080fd5b8201836020820111156105e257600080fd5b8035906020019184600183028401116401000000008311171561060457600080fd5b90919293919293908035906020019064010000000081111561062557600080fd5b82018360208201111561063757600080fd5b8035906020019184600183028401116401000000008311171561065957600080fd5b909192939192939050505061241c565b005b61067361290c565b6040518082815260200191505060405180910390f35b6107556004803603604081101561069f57600080fd5b81019080803590602001906401000000008111156106bc57600080fd5b8201836020820111156106ce57600080fd5b803590602001918460018302840111640100000000831117156106f057600080fd5b90919293919293908035906020019064010000000081111561071157600080fd5b82018360208201111561072357600080fd5b8035906020019184600183028401116401000000008311171561074557600080fd5b9091929391929390505050612916565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156107da57600080fd5b505afa1580156107ee573d6000803e3d6000fd5b505050506040513d602081101561080457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561094657808201518184015260208101905061092b565b50505050905090810190601f1680156109735780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205414151515610a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f70617373656420656e6f646520696420646f6573206e6f74206578697374000081525060200191505060405180910390fd5b610aa586868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e06565b1515610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806131a0602a913960400191505060405180910390fd5b6001821480610b0b5750600282145b80610b165750600382145b80610b215750600482145b80610b2c5750600582145b1515610b83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131ca6026913960400191505060405180910390fd5b6001821415610d5e576002610bdb87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b141515610c50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60036001610ca188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b815481101515610cad57fe5b9060005260206000209060030201600201819055507fc6c3720fe673e87bb26e06be713d514278aa94c3939cfe7c64b9bea4d486824a868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fc565b6002821415610f39576003610db687878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b141515610e2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60026001610e7c88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b815481101515610e8857fe5b9060005260206000209060030201600201819055507f49796be3ca168a59c8ae46c75a36a9bb3a84753d3e12a812f93ae010e783b14f868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fb565b60038214156110505760046001610f9388888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b815481101515610f9f57fe5b9060005260206000209060030201600201819055507f4714623279994517c446c8fb72c3fdaca26434da1e2490d3976fe0cd880cfa7a868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fa565b600482141561122b5760046110a887878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b14151561111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6005600161116e88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b81548110151561117a57fe5b9060005260206000209060030201600201819055507ffd385c618a1e89d01fb9a21780846793e282e8bc0b60caf6ccb3e422d543fbfb868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113f9565b600561127a87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b1415156112ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6002600161134088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b81548110151561134c57fe5b9060005260206000209060030201600201819055507f787d7bc525e7c4658c64e3e456d974a1be21cc196e8162a4bf1337a12cb38dac868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15b5b5b5b505050505050565b60608060008060026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611452578082015181840152602081019050611437565b50505050905090810190601f16801561147f5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054141561151f5784846000602060405190810160405280600081525092919082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509150909150809050925092509250611711565b600061156e86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b905060018181548110151561157f57fe5b906000526020600020906003020160010160018281548110151561159f57fe5b90600052602060002090600302016000016001838154811015156115bf57fe5b906000526020600020906003020160020154828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116665780601f1061163b57610100808354040283529160200191611666565b820191906000526020600020905b81548152906001019060200180831161164957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117025780601f106116d757610100808354040283529160200191611702565b820191906000526020600020905b8154815290600101906020018083116116e557829003601f168201915b50505050509150935093509350505b9250925092565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561179b57600080fd5b505afa1580156117af573d6000803e3d6000fd5b505050506040513d60208110156117c557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156119075780820151818401526020810190506118ec565b50505050905090810190601f1680156119345780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020541415156119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020016002815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000019080519060200190611b3f9291906130fa565b506020820151816001019080519060200190611b5c9291906130fa565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611c8b57600080fd5b505afa158015611c9f573d6000803e3d6000fd5b505050506040513d6020811015611cb557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611df7578082015181840152602081019050611ddc565b50505050905090810190601f168015611e245780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205414151515611ec4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f70617373656420656e6f646520696420646f6573206e6f74206578697374000081525060200191505060405180910390fd5b611f5685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e06565b1515611fad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806131f0602d913960400191505060405180910390fd5b6001611ffc86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b141515612071576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f6e6f7468696e672070656e64696e6720666f7220617070726f76616c0000000081525060200191505060405180910390fd5b60006120c086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b905060026001828154811015156120d357fe5b9060005260206000209060030201600201819055507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d60018281548110151561211857fe5b906000526020600020906003020160000160018381548110151561213857fe5b90600052602060002090600302016001016040518080602001806020018381038352858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121d65780601f106121ab576101008083540402835291602001916121d6565b820191906000526020600020905b8154815290600101906020018083116121b957829003601f168201915b50508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156122595780601f1061222e57610100808354040283529160200191612259565b820191906000526020600020905b81548152906001019060200180831161223c57829003601f168201915b505094505050505060405180910390a1505050505050565b606080600060018481548110151561228557fe5b90600052602060002090600302016001016001858154811015156122a557fe5b90600052602060002090600302016000016001868154811015156122c557fe5b906000526020600020906003020160020154828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561236c5780601f106123415761010080835404028352916020019161236c565b820191906000526020600020905b81548152906001019060200180831161234f57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124085780601f106123dd57610100808354040283529160200191612408565b820191906000526020600020905b8154815290600101906020018083116123eb57829003601f168201915b505050505091509250925092509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561249f57600080fd5b505afa1580156124b3573d6000803e3d6000fd5b505050506040513d60208110156124c957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561257c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561260b5780820151818401526020810190506125f0565b50505050905090810190601f1680156126385780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020541415156126d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200160018152509080600181540180825580915050906001820390600052602060002090600302016000909192909190915060008201518160000190805190602001906128439291906130fa565b5060208201518160010190805190602001906128609291906130fa565b50604082015181600201555050507fb1a7eec7dd1a516c3132d6d1f770758b19aa34c3a07c138caf662688b7e3556f858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000600354905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561299957600080fd5b505afa1580156129ad573d6000803e3d6000fd5b505050506040513d60208110156129c357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612b05578082015181840152602081019050612aea565b50505050905090810190601f168015612b325780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054141515612bd1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020016002815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000019080519060200190612d3d9291906130fa565b506020820151816001019080519060200190612d5a9291906130fa565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612e4c578082015181840152602081019050612e31565b50505050905090810190601f168015612e795780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001612e9f8561304f565b815481101515612eab57fe5b90600052602060002090600302016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612f485780601f10612f1d57610100808354040283529160200191612f48565b820191906000526020600020905b815481529060010190602001808311612f2b57829003601f168201915b5050925050506040516020818303038152906040528051906020012014905092915050565b60008060026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612fb8578082015181840152602081019050612f9d565b50505050905090810190601f168015612fe55780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054141561301e576000905061304a565b60016130298361304f565b81548110151561303557fe5b90600052602060002090600302016002015490505b919050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561309b578082015181840152602081019050613080565b50505050905090810190601f1680156130c85780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061313b57805160ff1916838001178555613169565b82800160010185558215613169579182015b8281111561316857825182559160200191906001019061314d565b5b509050613176919061317a565b5090565b61319c91905b80821115613198576000816000905550600101613180565b5090565b9056fe656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267696e76616c6964206f7065726174696f6e2e2077726f6e6720616374696f6e20706173736564656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267206964a165627a7a72305820a46616495a957989964cf36c1721df3dca4c5c0e613c53dd53eb454f4c07972a0029` // DeployNodeManager deploys a new Ethereum contract, binding an instance of NodeManager to it. func DeployNodeManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *NodeManager, error) { diff --git a/permission/bind/org.go b/permission/bind/org.go index bce70737a..e2f8b6f06 100644 --- a/permission/bind/org.go +++ b/permission/bind/org.go @@ -31,7 +31,7 @@ var ( 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\"}]" // OrgManagerBin is the compiled bytecode used for deploying new contracts. -const OrgManagerBin = `60806040526001805460a060020a60ff021916905560046002819055600355600060065534801561002f57600080fd5b506040516020806139c78339810180604052602081101561004f57600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790556139488061007f6000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e060020a900480637755ebdd11610090578063e30283161161006a578063e3028316146106dc578063f4d6d9f51461074c578063f9953de5146107bc578063ffe40d1d1461082c576100d3565b80637755ebdd146105a25780638c8642df146105aa5780639e58eb9f14610666576100d3565b80630cc27493146100d857806314f775f91461015a578063177c8d8a146101cc5780631f953480146102b15780635c4f32ee146103735780635e99f6e5146104e2575b600080fd5b610148600480360360408110156100ee57600080fd5b81019060208101813564010000000081111561010957600080fd5b82018360208201111561011b57600080fd5b8035906020019184600183028401116401000000008311171561013d57600080fd5b9193509150356108d2565b60408051918252519081900360200190f35b6101ca6004803603604081101561017057600080fd5b81019060208101813564010000000081111561018b57600080fd5b82018360208201111561019d57600080fd5b803590602001918460018302840111640100000000831117156101bf57600080fd5b919350915035610c7d565b005b61023c600480360360208110156101e257600080fd5b8101906020810181356401000000008111156101fd57600080fd5b82018360208201111561020f57600080fd5b8035906020019184600183028401116401000000008311171561023157600080fd5b509092509050610e74565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027657818101518382015260200161025e565b50505050905090810190601f1680156102a35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ca600480360360408110156102c757600080fd5b8101906020810181356401000000008111156102e257600080fd5b8201836020820111156102f457600080fd5b8035906020019184600183028401116401000000008311171561031657600080fd5b91939092909160208101903564010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184600183028401116401000000008311171561036857600080fd5b50909250905061103a565b6103906004803603602081101561038957600080fd5b503561123e565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b838110156103e15781810151838201526020016103c9565b50505050905090810190601f16801561040e5780820380516001836020036101000a031916815260200191505b5084810383528851815288516020918201918a019080838360005b83811015610441578181015183820152602001610429565b50505050905090810190601f16801561046e5780820380516001836020036101000a031916815260200191505b50848103825287518152875160209182019189019080838360005b838110156104a1578181015183820152602001610489565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610552600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184600183028401116401000000008311171561054757600080fd5b5090925090506114b3565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561058e578181015183820152602001610576565b505050509050019250505060405180910390f35b610148611608565b610652600480360360408110156105c057600080fd5b8101906020810181356401000000008111156105db57600080fd5b8201836020820111156105ed57600080fd5b8035906020019184600183028401116401000000008311171561060f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061160f915050565b604080519115158252519081900360200190f35b6101ca6004803603606081101561067c57600080fd5b81019060208101813564010000000081111561069757600080fd5b8201836020820111156106a957600080fd5b803590602001918460018302840111640100000000831117156106cb57600080fd5b919350915080359060200135611767565b6101ca600480360360208110156106f257600080fd5b81019060208101813564010000000081111561070d57600080fd5b82018360208201111561071f57600080fd5b8035906020019184600183028401116401000000008311171561074157600080fd5b50909250905061188a565b6103906004803603602081101561076257600080fd5b81019060208101813564010000000081111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460018302840111640100000000831117156107b157600080fd5b509092509050611c9a565b6101ca600480360360208110156107d257600080fd5b8101906020810181356401000000008111156107ed57600080fd5b8201836020820111156107ff57600080fd5b8035906020019184600183028401116401000000008311171561082157600080fd5b509092509050612003565b6106526004803603602081101561084257600080fd5b81019060208101813564010000000081111561085d57600080fd5b82018360208201111561086f57600080fd5b8035906020019184600183028401116401000000008311171561089157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506121b7945050505050565b600154604080517f0e32cf900000000000000000000000000000000000000000000000000000000081529051600092600160a060020a031691630e32cf90916004808301926020929190829003018186803b15801561093057600080fd5b505afa158015610944573d6000803e3d6000fd5b505050506040513d602081101561095a57600080fd5b5051600160a060020a031633146109a9576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109eb92508391506121b79050565b1515600114610a44576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8260011480610a535750826002145b1515610a935760405160e560020a62461bcd0281526004018080602001828103825260258152602001806138566025913960400191505060405180910390fd5b6000610ad486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b9050600481815481101515610ae557fe5b9060005260206000209060080201600601546001141515610b3a5760405160e560020a62461bcd02815260040180806020018281038252602781526020018061387b6027913960400191505060405180910390fd5b6000808560011415610b5157506002905080610b62565b8560021415610b6257506004905060035b610ba388888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061160f915050565b1515600114610be65760405160e560020a62461bcd0281526004018080602001828103825260278152602001806138c26027913960400191505060405180910390fd5b8560011415610c3357610c2e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122d292505050565b610c72565b610c7288888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061259492505050565b979650505050505050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b5051600160a060020a03163314610d47576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8992508391506121b79050565b1515600114610de2576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8160011415610e2f57610e2a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061274192505050565b610e6e565b610e6e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a0792505050565b50505050565b600154604080517f0e32cf900000000000000000000000000000000000000000000000000000000081529051606092600160a060020a031691630e32cf90916004808301926020929190829003018186803b158015610ed257600080fd5b505afa158015610ee6573d6000803e3d6000fd5b505050506040513d6020811015610efc57600080fd5b5051600160a060020a03163314610f4b576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b6004610f8c84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b81548110610f9657fe5b6000918252602091829020600460089092020101805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561102c5780601f106110015761010080835404028352916020019161102c565b820191906000526020600020905b81548152906001019060200180831161100f57829003601f168201915b505050505090505b92915050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d60208110156110b557600080fd5b5051600160a060020a03163314611104576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b83838383604051602001808585808284377f2e000000000000000000000000000000000000000000000000000000000000009201918252506001018383808284378083019250505094505050505060405160208183030381529060405261116a816121b7565b156111bf576040805160e560020a62461bcd02815260206004820152600a60248201527f6f72672065786973747300000000000000000000000000000000000000000000604482015290519081900360640190fd5b61123785858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525060029250829150612ace9050565b5050505050565b606080606060008060048681548110151561125557fe5b906000526020600020906008020160000160048781548110151561127557fe5b906000526020600020906008020160020160048881548110151561129557fe5b90600052602060002090600802016004016004898154811015156112b557fe5b90600052602060002090600802016006015460048a8154811015156112d657fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b5050875460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959a508994509250840190508282801561140b5780601f106113e05761010080835404028352916020019161140b565b820191906000526020600020905b8154815290600101906020018083116113ee57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156114995780601f1061146e57610100808354040283529160200191611499565b820191906000526020600020905b81548152906001019060200180831161147c57829003601f168201915b505050505092509450945094509450945091939590929450565b60606114f483838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121b792505050565b151560011461154d576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b600061158e84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b905060048181548110151561159f57fe5b90600052602060002090600802016007018054806020026020016040519081016040528092919081815260200182805480156115fa57602002820191906000526020600020905b8154815260200190600101908083116115e6575b505050505091505092915050565b6004545b90565b600060056000846040516020018082805190602001908083835b602083106116485780518252601f199092019160209182019101611629565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054600014156116a257506000611034565b60006116ad84612245565b905060056000856040516020018082805190602001908083835b602083106116e65780518252601f1990920191602091820191016116c7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205460001415801561175f57508260048281548110151561174b57fe5b906000526020600020906008020160010154145b949350505050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156117b857600080fd5b505afa1580156117cc573d6000803e3d6000fd5b505050506040513d60208110156117e257600080fd5b5051600160a060020a03163314611831576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b6040805160208181018352600082528251601f8701829004820281018201909352858352611880929087908790819084018382808284376000920191909152506001925060029150612ace9050565b6002556003555050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156118db57600080fd5b505afa1580156118ef573d6000803e3d6000fd5b505050506040513d602081101561190557600080fd5b5051600160a060020a03163314611954576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b61199682828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061160f915050565b15156001146119ef576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b6000611a3083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b90506002600482815481101515611a4357fe5b9060005260206000209060080201600101819055507fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c600482815481101515611a8857fe5b9060005260206000209060080201600001600483815481101515611aa857fe5b9060005260206000209060080201600201600484815481101515611ac857fe5b9060005260206000209060080201600401600485815481101515611ae857fe5b906000526020600020906008020160060154600260405180806020018060200180602001868152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611b995780601f10611b6e57610100808354040283529160200191611b99565b820191906000526020600020905b815481529060010190602001808311611b7c57829003601f168201915b5050848103835288546002600019610100600184161502019091160480825260209091019089908015611c0d5780601f10611be257610100808354040283529160200191611c0d565b820191906000526020600020905b815481529060010190602001808311611bf057829003601f168201915b5050848103825287546002600019610100600184161502019091160480825260209091019088908015611c815780601f10611c5657610100808354040283529160200191611c81565b820191906000526020600020905b815481529060010190602001808311611c6457829003601f168201915b50509850505050505050505060405180910390a1505050565b6060806060600080611ce187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121b792505050565b1515611d5057868660008083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081810183528382528251908101909252918152949d509b50929950939750919550611ff9945050505050565b6000611d9188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b9050600481815481101515611da257fe5b9060005260206000209060080201600001600482815481101515611dc257fe5b9060005260206000209060080201600201600483815481101515611de257fe5b9060005260206000209060080201600401600484815481101515611e0257fe5b906000526020600020906008020160060154600485815481101515611e2357fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611eca5780601f10611e9f57610100808354040283529160200191611eca565b820191906000526020600020905b815481529060010190602001808311611ead57829003601f168201915b5050875460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959a5089945092508401905082828015611f585780601f10611f2d57610100808354040283529160200191611f58565b820191906000526020600020905b815481529060010190602001808311611f3b57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295995088945092508401905082828015611fe65780601f10611fbb57610100808354040283529160200191611fe6565b820191906000526020600020905b815481529060010190602001808311611fc957829003601f168201915b5050505050925095509550955095509550505b9295509295909350565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561205457600080fd5b505afa158015612068573d6000803e3d6000fd5b505050506040513d602081101561207e57600080fd5b5051600160a060020a031633146120cd576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b81818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061210f92508391506121b79050565b15612164576040805160e560020a62461bcd02815260206004820152600a60248201527f6f72672065786973747300000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805160208181018352600082528251601f86018290048202810182019093528483526121b29290869086908190840183828082843760009201919091525060019250829150612ace9050565b505050565b600060056000836040516020018082805190602001908083835b602083106121f05780518252601f1990920191602091820191016121d1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b6000600160056000846040516020018082805190602001908083835b602083106122805780518252601f199092019160209182019101612261565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b6122dd81600261160f565b15156001146123205760405160e560020a62461bcd0281526004018080602001828103825260348152602001806138e96034913960400191505060405180910390fd5b600061232b82612245565b9050600360048281548110151561233e57fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561238357fe5b90600052602060002090600802016000016004838154811015156123a357fe5b90600052602060002090600802016002016004848154811015156123c357fe5b90600052602060002090600802016004016004858154811015156123e357fe5b9060005260206000209060080201600601546003604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124945780601f1061246957610100808354040283529160200191612494565b820191906000526020600020905b81548152906001019060200180831161247757829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156125085780601f106124dd57610100808354040283529160200191612508565b820191906000526020600020905b8154815290600101906020018083116124eb57829003601f168201915b505084810382528754600260001961010060018416150201909116048082526020909101908890801561257c5780601f106125515761010080835404028352916020019161257c565b820191906000526020600020905b81548152906001019060200180831161255f57829003601f168201915b50509850505050505050505060405180910390a15050565b61259f81600461160f565b15156001146125f8576040805160e560020a62461bcd02815260206004820152601a60248201527f6f7267206e6f7420696e2073757370656e646564207374617465000000000000604482015290519081900360640190fd5b600061260382612245565b9050600560048281548110151561261657fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561265b57fe5b906000526020600020906008020160000160048381548110151561267b57fe5b906000526020600020906008020160020160048481548110151561269b57fe5b90600052602060002090600802016004016004858154811015156126bb57fe5b9060005260206000209060080201600601546005604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124945780601f1061246957610100808354040283529160200191612494565b61274c81600361160f565b15156001146127a5576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b60006127b082612245565b9050600480828154811015156127c257fe5b9060005260206000209060080201600101819055507f73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d9660048281548110151561280757fe5b906000526020600020906008020160000160048381548110151561282757fe5b906000526020600020906008020160020160048481548110151561284757fe5b906000526020600020906008020160040160048581548110151561286757fe5b600091825260209182902060066008909202010154604080516060810183905260808082528754600260001961010060018416150201909116049082018190529293909283929183019183019060a0840190899080156129085780601f106128dd57610100808354040283529160200191612908565b820191906000526020600020905b8154815290600101906020018083116128eb57829003601f168201915b505084810383528754600260001961010060018416150201909116048082526020909101908890801561297c5780601f106129515761010080835404028352916020019161297c565b820191906000526020600020905b81548152906001019060200180831161295f57829003601f168201915b50508481038252865460026000196101006001841615020190911604808252602090910190879080156129f05780601f106129c5576101008083540402835291602001916129f0565b820191906000526020600020905b8154815290600101906020018083116129d357829003601f168201915b505097505050505050505060405180910390a15050565b612a1281600561160f565b1515600114612a6b576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b6000612a7682612245565b90506002600482815481101515612a8957fe5b9060005260206000209060080201600101819055507f882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f60048281548110151561280757fe5b600080806001851415612b5057856040516020018082805190602001908083835b60208310612b0e5780518252601f199092019160209182019101612aef565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209150612ca8565b866040516020018082805190602001908083835b60208310612b835780518252601f199092019160209182019101612b64565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120925086866040516020018083805190602001908083835b60208310612bf45780518252601f199092019160209182019101612bd5565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b60208310612c695780518252601f199092019160209182019101612c4a565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040528051906020012091505b600680546001908101918290556000848152600560205260408120929092556004805491612cd89190830161361c565b90508560011415612d9d5785600482815481101515612cf357fe5b9060005260206000209060080201600601819055506000600482815481101515612d1957fe5b90600052602060002090600802016005018190555086600482815481101515612d3e57fe5b90600052602060002090600802016003019080519060200190612d62929190613648565b5086600482815481101515612d7357fe5b90600052602060002090600802016004019080519060200190612d97929190613648565b506130fa565b600084815260056020526040902054600354600480546000199093019450909184908110612dc757fe5b600091825260209091206007600890920201015410612e30576040805160e560020a62461bcd02815260206004820152601660248201527f62726561647468206c6576656c20657863656564656400000000000000000000604482015290519081900360640190fd5b6002546004805484908110612e4157fe5b906000526020600020906008020160060154101515612eaa576040805160e560020a62461bcd02815260206004820152601460248201527f6465707468206c6576656c206578636565646564000000000000000000000000604482015290519081900360640190fd5b6004805483908110612eb857fe5b906000526020600020906008020160060154600101600482815481101515612edc57fe5b90600052602060002090600802016006018190555081600482815481101515612f0157fe5b60009182526020909120600560089092020101556004805483908110612f2357fe5b9060005260206000209060080201600401600482815481101515612f4357fe5b90600052602060002090600802016004019080546001816001161561010002031660029004612f739291906136c6565b506000600483815481101515612f8557fe5b90600052602060002090600802016007018054809190600101612fa8919061373b565b905081600484815481101515612fba57fe5b906000526020600020906008020160070182815481101515612fd857fe5b906000526020600020018190555088886040516020018083805190602001908083835b6020831061301a5780518252601f199092019160209182019101612ffb565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b6020831061308f5780518252601f199092019160209182019101613070565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526004838154811015156130d357fe5b906000526020600020906008020160030190805190602001906130f7929190613648565b50505b8660048281548110151561310a57fe5b9060005260206000209060080201600001908051906020019061312e929190613648565b508760048281548110151561313f57fe5b90600052602060002090600802016002019080519060200190613163929190613648565b508460048281548110151561317457fe5b90600052602060002090600802016001018190555084600114156133d4577f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b6004828154811015156131c257fe5b90600052602060002090600802016000016004838154811015156131e257fe5b906000526020600020906008020160020160048481548110151561320257fe5b906000526020600020906008020160040160048581548110151561322257fe5b9060005260206000209060080201600601546001604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132d35780601f106132a8576101008083540402835291602001916132d3565b820191906000526020600020905b8154815290600101906020018083116132b657829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156133475780601f1061331c57610100808354040283529160200191613347565b820191906000526020600020905b81548152906001019060200180831161332a57829003601f168201915b50508481038252875460026000196101006001841615020190911604808252602090910190889080156133bb5780601f10613390576101008083540402835291602001916133bb565b820191906000526020600020905b81548152906001019060200180831161339e57829003601f168201915b50509850505050505050505060405180910390a1613612565b7fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c60048281548110151561340457fe5b906000526020600020906008020160000160048381548110151561342457fe5b906000526020600020906008020160020160048481548110151561344457fe5b906000526020600020906008020160040160048581548110151561346457fe5b9060005260206000209060080201600601546002604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156135155780601f106134ea57610100808354040283529160200191613515565b820191906000526020600020905b8154815290600101906020018083116134f857829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156135895780601f1061355e57610100808354040283529160200191613589565b820191906000526020600020905b81548152906001019060200180831161356c57829003601f168201915b50508481038252875460026000196101006001841615020190911604808252602090910190889080156135fd5780601f106135d2576101008083540402835291602001916135fd565b820191906000526020600020905b8154815290600101906020018083116135e057829003601f168201915b50509850505050505050505060405180910390a15b5050505050505050565b8154818355818111156121b2576008028160080283600052602060002091820191016121b2919061375f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061368957805160ff19168380011785556136b6565b828001600101855582156136b6579182015b828111156136b657825182559160200191906001019061369b565b506136c29291506137d6565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106136ff57805485556136b6565b828001600101855582156136b657600052602060002091601f016020900482015b828111156136b6578254825591600101919060010190613720565b8154818355818111156121b2576000838152602090206121b29181019083016137d6565b61160c91905b808211156136c257600061377982826137f0565b600182016000905560028201600061379191906137f0565b61379f6003830160006137f0565b6137ad6004830160006137f0565b600582016000905560068201600090556007820160006137cd9190613837565b50600801613765565b61160c91905b808211156136c257600081556001016137dc565b50805460018160011615610100020316600290046000825580601f106138165750613834565b601f01602090049060005260206000209081019061383491906137d6565b50565b508054600082559060005260206000209081019061383491906137d656fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f7765646e6f742061206d6173746572206f72672e206f7065726174696f6e206e6f7420616c6c6f776564696e76616c69642063616c6c65720000000000000000000000000000000000006f72672073746174757320646f6573206e6f7420616c6c6f7720746865206f7065726174696f6e6f7267206e6f7420696e20617070726f766564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e65a165627a7a72305820636521eff728ddd6a767c58880379d17a08e7f7bd4dd62734705f6d9456562900029` +const OrgManagerBin = `60806040526000600160146101000a81548160ff02191690831515021790555060046002556004600355600060065534801561003a57600080fd5b50604051602080620048978339810180604052602081101561005b57600080fd5b810190808051906020019092919050505080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506147d980620000be6000396000f3fe608060405234801561001057600080fd5b50600436106100ec576000357c0100000000000000000000000000000000000000000000000000000000900480637755ebdd116100a9578063e302831611610083578063e3028316146107ae578063f4d6d9f514610827578063f9953de5146109ff578063ffe40d1d14610a78576100ec565b80637755ebdd146106265780638c8642df146106445780639e58eb9f14610721576100ec565b80630cc27493146100f157806314f775f914610188578063177c8d8a1461020b5780631f953480146102fd5780635c4f32ee146103cb5780635e99f6e514610558575b600080fd5b6101726004803603604081101561010757600080fd5b810190808035906020019064010000000081111561012457600080fd5b82018360208201111561013657600080fd5b8035906020019184600183028401116401000000008311171561015857600080fd5b909192939192939080359060200190929190505050610b4b565b6040518082815260200191505060405180910390f35b6102096004803603604081101561019e57600080fd5b81019080803590602001906401000000008111156101bb57600080fd5b8201836020820111156101cd57600080fd5b803590602001918460018302840111640100000000831117156101ef57600080fd5b909192939192939080359060200190929190505050611038565b005b6102826004803603602081101561022157600080fd5b810190808035906020019064010000000081111561023e57600080fd5b82018360208201111561025057600080fd5b8035906020019184600183028401116401000000008311171561027257600080fd5b9091929391929390505050611311565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102c25780820151818401526020810190506102a7565b50505050905090810190601f1680156102ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c96004803603604081101561031357600080fd5b810190808035906020019064010000000081111561033057600080fd5b82018360208201111561034257600080fd5b8035906020019184600183028401116401000000008311171561036457600080fd5b90919293919293908035906020019064010000000081111561038557600080fd5b82018360208201111561039757600080fd5b803590602001918460018302840111640100000000831117156103b957600080fd5b9091929391929390505050611581565b005b6103f7600480360360208110156103e157600080fd5b8101908080359060200190929190505050611864565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b8381101561044b578082015181840152602081019050610430565b50505050905090810190601f1680156104785780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b838110156104b1578082015181840152602081019050610496565b50505050905090810190601f1680156104de5780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b838110156105175780820151818401526020810190506104fc565b50505050905090810190601f1680156105445780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b6105cf6004803603602081101561056e57600080fd5b810190808035906020019064010000000081111561058b57600080fd5b82018360208201111561059d57600080fd5b803590602001918460018302840111640100000000831117156105bf57600080fd5b9091929391929390505050611af5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106125780820151818401526020810190506105f7565b505050509050019250505060405180910390f35b61062e611c88565b6040518082815260200191505060405180910390f35b6107076004803603604081101561065a57600080fd5b810190808035906020019064010000000081111561067757600080fd5b82018360208201111561068957600080fd5b803590602001918460018302840111640100000000831117156106ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611c95565b604051808215151515815260200191505060405180910390f35b6107ac6004803603606081101561073757600080fd5b810190808035906020019064010000000081111561075457600080fd5b82018360208201111561076657600080fd5b8035906020019184600183028401116401000000008311171561078857600080fd5b90919293919293908035906020019092919080359060200190929190505050611dfb565b005b610825600480360360208110156107c457600080fd5b81019080803590602001906401000000008111156107e157600080fd5b8201836020820111156107f357600080fd5b8035906020019184600183028401116401000000008311171561081557600080fd5b9091929391929390505050611fd2565b005b61089e6004803603602081101561083d57600080fd5b810190808035906020019064010000000081111561085a57600080fd5b82018360208201111561086c57600080fd5b8035906020019184600183028401116401000000008311171561088e57600080fd5b90919293919293905050506124d4565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b838110156108f25780820151818401526020810190506108d7565b50505050905090810190601f16801561091f5780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b8381101561095857808201518184015260208101905061093d565b50505050905090810190601f1680156109855780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b838110156109be5780820151818401526020810190506109a3565b50505050905090810190601f1680156109eb5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610a7660048036036020811015610a1557600080fd5b8101908080359060200190640100000000811115610a3257600080fd5b820183602082011115610a4457600080fd5b80359060200191846001830284011164010000000083111715610a6657600080fd5b9091929391929390505050612897565b005b610b3160048036036020811015610a8e57600080fd5b8101908080359060200190640100000000811115610aab57600080fd5b820183602082011115610abd57600080fd5b80359060200191846001830284011164010000000083111715610adf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612b27565b604051808215151515815260200191505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610bd157600080fd5b505afa158015610be5573d6000803e3d6000fd5b505050506040513d6020811015610bfb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515610d0082612b27565b1515141515610d77576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b6001831480610d865750600283145b1515610ddd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806147076025913960400191505060405180910390fd5b6000610e2c86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b90506001600482815481101515610e3f57fe5b906000526020600020906008020160060154141515610ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061472c6027913960400191505060405180910390fd5b6000806001861415610ec2576002915060029050610ed5565b6002861415610ed45760049150600390505b5b60011515610f2789898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084611c95565b1515141515610f81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806147536027913960400191505060405180910390fd5b6001861415610fdc57610fd788888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612c4d565b61102a565b61102988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f48565b5b809450505050509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156110bc57600080fd5b505afa1580156110d0573d6000803e3d6000fd5b505050506040513d60208110156110e657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156111eb82612b27565b1515141515611262576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b60018214156112bd576112b884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613260565b61130b565b61130a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061356e565b5b50505050565b6060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561139757600080fd5b505afa1580156113ab573d6000803e3d6000fd5b505050506040513d60208110156113c157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60046114c384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b8154811015156114cf57fe5b90600052602060002090600802016004018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115745780601f1061154957610100808354040283529160200191611574565b820191906000526020600020905b81548152906001019060200180831161155757829003601f168201915b5050505050905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561160557600080fd5b505afa158015611619573d6000803e3d6000fd5b505050506040513d602081101561162f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b838383836040516020018085858082843780830192505050807f2e00000000000000000000000000000000000000000000000000000000000000815250600101838380828437808301925050509450505050506040516020818303038152906040526000151561175182612b27565b15151415156117c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f7267206578697374730000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61185d85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060028061387d565b5050505050565b606080606060008060048681548110151561187b57fe5b906000526020600020906008020160000160048781548110151561189b57fe5b90600052602060002090600802016002016004888154811015156118bb57fe5b90600052602060002090600802016004016004898154811015156118db57fe5b90600052602060002090600802016006015460048a8154811015156118fc57fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119a35780601f10611978576101008083540402835291602001916119a3565b820191906000526020600020905b81548152906001019060200180831161198657829003601f168201915b50505050509450838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a3f5780601f10611a1457610100808354040283529160200191611a3f565b820191906000526020600020905b815481529060010190602001808311611a2257829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611adb5780601f10611ab057610100808354040283529160200191611adb565b820191906000526020600020905b815481529060010190602001808311611abe57829003601f168201915b505050505092509450945094509450945091939590929450565b606060011515611b4884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612b27565b1515141515611bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b6000611c0e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b9050600481815481101515611c1f57fe5b9060005260206000209060080201600701805480602002602001604051908101604052809291908181526020018280548015611c7a57602002820191906000526020600020905b815481526020019060010190808311611c66575b505050505091505092915050565b6000600480549050905090565b60008060056000856040516020018082805190602001908083835b602083101515611cd55780518252602082019150602081019050602083039250611cb0565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001208152602001908152602001600020541415611d2e5760009050611df5565b6000611d3984612bba565b9050600060056000866040516020018082805190602001908083835b602083101515611d7a5780518252602082019150602081019050602083039250611d55565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205414158015611df1575082600482815481101515611ddd57fe5b906000526020600020906008020160010154145b9150505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e7f57600080fd5b505afa158015611e93573d6000803e3d6000fd5b505050506040513d6020811015611ea957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b611fbe602060405190810160405280600081525085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001600261387d565b806002819055508160038190555050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561205657600080fd5b505afa15801561206a573d6000803e3d6000fd5b505050506040513d602081101561208057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6001151561218683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001611c95565b15151415156121fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b600061224c83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b9050600260048281548110151561225f57fe5b9060005260206000209060080201600101819055507fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c6004828154811015156122a457fe5b90600052602060002090600802016000016004838154811015156122c457fe5b90600052602060002090600802016002016004848154811015156122e457fe5b906000526020600020906008020160040160048581548110151561230457fe5b9060005260206000209060080201600601546002604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123b55780601f1061238a576101008083540402835291602001916123b5565b820191906000526020600020905b81548152906001019060200180831161239857829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124385780601f1061240d57610100808354040283529160200191612438565b820191906000526020600020905b81548152906001019060200180831161241b57829003601f168201915b50508481038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124bb5780601f10612490576101008083540402835291602001916124bb565b820191906000526020600020905b81548152906001019060200180831161249e57829003601f168201915b50509850505050505050505060405180910390a1505050565b606080606060008061252987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612b27565b15156125ba57868660008083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505092509091925060206040519081016040528060008152509190602060405190810160405280600081525091908191508090509450945094509450945061288d565b600061260988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b905060048181548110151561261a57fe5b906000526020600020906008020160000160048281548110151561263a57fe5b906000526020600020906008020160020160048381548110151561265a57fe5b906000526020600020906008020160040160048481548110151561267a57fe5b90600052602060002090600802016006015460048581548110151561269b57fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127425780601f1061271757610100808354040283529160200191612742565b820191906000526020600020905b81548152906001019060200180831161272557829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127de5780601f106127b3576101008083540402835291602001916127de565b820191906000526020600020905b8154815290600101906020018083116127c157829003601f168201915b50505050509350828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561287a5780601f1061284f5761010080835404028352916020019161287a565b820191906000526020600020905b81548152906001019060200180831161285d57829003601f168201915b5050505050925095509550955095509550505b9295509295909350565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561291b57600080fd5b505afa15801561292f573d6000803e3d6000fd5b505050506040513d602081101561294557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060001515612a4a82612b27565b1515141515612ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f7267206578697374730000000000000000000000000000000000000000000081525060200191505060405180910390fd5b612b22602060405190810160405280600081525084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060018061387d565b505050565b60008060056000846040516020018082805190602001908083835b602083101515612b675780518252602082019150602081019050602083039250612b42565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205414159050919050565b6000600160056000846040516020018082805190602001908083835b602083101515612bfb5780518252602082019150602081019050602083039250612bd6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b60011515612c5c826002611c95565b1515141515612cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061477a6034913960400191505060405180910390fd5b6000612cc182612bba565b90506003600482815481101515612cd457fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b600482815481101515612d1957fe5b9060005260206000209060080201600001600483815481101515612d3957fe5b9060005260206000209060080201600201600484815481101515612d5957fe5b9060005260206000209060080201600401600485815481101515612d7957fe5b906000526020600020906008020160060154600360405180806020018060200180602001868152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612e2a5780601f10612dff57610100808354040283529160200191612e2a565b820191906000526020600020905b815481529060010190602001808311612e0d57829003601f168201915b5050848103835288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612ead5780601f10612e8257610100808354040283529160200191612ead565b820191906000526020600020905b815481529060010190602001808311612e9057829003601f168201915b5050848103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612f305780601f10612f0557610100808354040283529160200191612f30565b820191906000526020600020905b815481529060010190602001808311612f1357829003601f168201915b50509850505050505050505060405180910390a15050565b60011515612f57826004611c95565b1515141515612fce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e2073757370656e64656420737461746500000000000081525060200191505060405180910390fd5b6000612fd982612bba565b90506005600482815481101515612fec57fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561303157fe5b906000526020600020906008020160000160048381548110151561305157fe5b906000526020600020906008020160020160048481548110151561307157fe5b906000526020600020906008020160040160048581548110151561309157fe5b9060005260206000209060080201600601546005604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131425780601f1061311757610100808354040283529160200191613142565b820191906000526020600020905b81548152906001019060200180831161312557829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131c55780601f1061319a576101008083540402835291602001916131c5565b820191906000526020600020905b8154815290600101906020018083116131a857829003601f168201915b50508481038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132485780601f1061321d57610100808354040283529160200191613248565b820191906000526020600020905b81548152906001019060200180831161322b57829003601f168201915b50509850505050505050505060405180910390a15050565b6001151561326f826003611c95565b15151415156132e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b60006132f182612bba565b90506004808281548110151561330357fe5b9060005260206000209060080201600101819055507f73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d9660048281548110151561334857fe5b906000526020600020906008020160000160048381548110151561336857fe5b906000526020600020906008020160020160048481548110151561338857fe5b90600052602060002090600802016004016004858154811015156133a857fe5b906000526020600020906008020160060154604051808060200180602001806020018581526020018481038452888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156134515780601f1061342657610100808354040283529160200191613451565b820191906000526020600020905b81548152906001019060200180831161343457829003601f168201915b50508481038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156134d45780601f106134a9576101008083540402835291602001916134d4565b820191906000526020600020905b8154815290600101906020018083116134b757829003601f168201915b50508481038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156135575780601f1061352c57610100808354040283529160200191613557565b820191906000526020600020905b81548152906001019060200180831161353a57829003601f168201915b505097505050505050505060405180910390a15050565b6001151561357d826005611c95565b15151415156135f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b60006135ff82612bba565b9050600260048281548110151561361257fe5b9060005260206000209060080201600101819055507f882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f60048281548110151561365757fe5b906000526020600020906008020160000160048381548110151561367757fe5b906000526020600020906008020160020160048481548110151561369757fe5b90600052602060002090600802016004016004858154811015156136b757fe5b906000526020600020906008020160060154604051808060200180602001806020018581526020018481038452888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156137605780601f1061373557610100808354040283529160200191613760565b820191906000526020600020905b81548152906001019060200180831161374357829003601f168201915b50508481038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156137e35780601f106137b8576101008083540402835291602001916137e3565b820191906000526020600020905b8154815290600101906020018083116137c657829003601f168201915b50508481038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156138665780601f1061383b57610100808354040283529160200191613866565b820191906000526020600020905b81548152906001019060200180831161384957829003601f168201915b505097505050505050505060405180910390a15050565b600080905060008090506000809050600185141561391057856040516020018082805190602001908083835b6020831015156138ce57805182526020820191506020810190506020830392506138a9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209150613a7a565b866040516020018082805190602001908083835b6020831015156139495780518252602082019150602081019050602083039250613924565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120925086866040516020018083805190602001908083835b6020831015156139c0578051825260208201915060208101905060208303925061399b565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b602083101515613a3b5780518252602082019150602081019050602083039250613a16565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040528051906020012091505b6006600081548092919060010191905055506006546005600084815260200190815260200160002081905550600060048054809190600101613abc919061448c565b90506001861415613b815785600482815481101515613ad757fe5b9060005260206000209060080201600601819055506000600482815481101515613afd57fe5b90600052602060002090600802016005018190555086600482815481101515613b2257fe5b90600052602060002090600802016003019080519060200190613b469291906144be565b5086600482815481101515613b5757fe5b90600052602060002090600802016004019080519060200190613b7b9291906144be565b50613f2e565b60016005600086815260200190815260200160002054039150600354600483815481101515613bac57fe5b906000526020600020906008020160070180549050101515613c36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f62726561647468206c6576656c2065786365656465640000000000000000000081525060200191505060405180910390fd5b600254600483815481101515613c4857fe5b906000526020600020906008020160060154101515613ccf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6465707468206c6576656c20657863656564656400000000000000000000000081525060200191505060405180910390fd5b6001600483815481101515613ce057fe5b90600052602060002090600802016006015401600482815481101515613d0257fe5b90600052602060002090600802016006018190555081600482815481101515613d2757fe5b906000526020600020906008020160050181905550600482815481101515613d4b57fe5b9060005260206000209060080201600401600482815481101515613d6b57fe5b90600052602060002090600802016004019080546001816001161561010002031660029004613d9b92919061453e565b506000600483815481101515613dad57fe5b90600052602060002090600802016007018054809190600101613dd091906145c5565b905081600484815481101515613de257fe5b906000526020600020906008020160070182815481101515613e0057fe5b906000526020600020018190555088886040516020018083805190602001908083835b602083101515613e485780518252602082019150602081019050602083039250613e23565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b602083101515613ec35780518252602082019150602081019050602083039250613e9e565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052600483815481101515613f0757fe5b90600052602060002090600802016003019080519060200190613f2b9291906144be565b50505b86600482815481101515613f3e57fe5b90600052602060002090600802016000019080519060200190613f629291906144be565b5087600482815481101515613f7357fe5b90600052602060002090600802016002019080519060200190613f979291906144be565b5084600482815481101515613fa857fe5b9060005260206000209060080201600101819055506001851415614226577f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b600482815481101515613ff657fe5b906000526020600020906008020160000160048381548110151561401657fe5b906000526020600020906008020160020160048481548110151561403657fe5b906000526020600020906008020160040160048581548110151561405657fe5b9060005260206000209060080201600601546001604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156141075780601f106140dc57610100808354040283529160200191614107565b820191906000526020600020905b8154815290600101906020018083116140ea57829003601f168201915b505084810383528881815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561418a5780601f1061415f5761010080835404028352916020019161418a565b820191906000526020600020905b81548152906001019060200180831161416d57829003601f168201915b505084810382528781815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561420d5780601f106141e25761010080835404028352916020019161420d565b820191906000526020600020905b8154815290600101906020018083116141f057829003601f168201915b50509850505050505050505060405180910390a1614482565b7fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c60048281548110151561425657fe5b906000526020600020906008020160000160048381548110151561427657fe5b906000526020600020906008020160020160048481548110151561429657fe5b90600052602060002090600802016004016004858154811015156142b657fe5b9060005260206000209060080201600601546002604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156143675780601f1061433c57610100808354040283529160200191614367565b820191906000526020600020905b81548152906001019060200180831161434a57829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156143ea5780601f106143bf576101008083540402835291602001916143ea565b820191906000526020600020905b8154815290600101906020018083116143cd57829003601f168201915b505084810382528781815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561446d5780601f106144425761010080835404028352916020019161446d565b820191906000526020600020905b81548152906001019060200180831161445057829003601f168201915b50509850505050505050505060405180910390a15b5050505050505050565b8154818355818111156144b9576008028160080283600052602060002091820191016144b891906145f1565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106144ff57805160ff191683800117855561452d565b8280016001018555821561452d579182015b8281111561452c578251825591602001919060010190614511565b5b50905061453a9190614678565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061457757805485556145b4565b828001600101855582156145b457600052602060002091601f016020900482015b828111156145b3578254825591600101919060010190614598565b5b5090506145c19190614678565b5090565b8154818355818111156145ec578183600052602060002091820191016145eb9190614678565b5b505050565b61467591905b808211156146715760008082016000614610919061469d565b6001820160009055600282016000614628919061469d565b600382016000614638919061469d565b600482016000614648919061469d565b6005820160009055600682016000905560078201600061466891906146e5565b506008016145f7565b5090565b90565b61469a91905b8082111561469657600081600090555060010161467e565b5090565b90565b50805460018160011615610100020316600290046000825580601f106146c357506146e2565b601f0160209004906000526020600020908101906146e19190614678565b5b50565b50805460008255906000526020600020908101906147039190614678565b5056fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f7765646e6f742061206d6173746572206f72672e206f7065726174696f6e206e6f7420616c6c6f7765646f72672073746174757320646f6573206e6f7420616c6c6f7720746865206f7065726174696f6e6f7267206e6f7420696e20617070726f766564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e65a165627a7a7230582055202de511921c697cb90cc515d240ffe9d31dc9adb788a027a4ad7b6c918cf20029` // DeployOrgManager deploys a new Ethereum contract, binding an instance of OrgManager to it. func DeployOrgManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *OrgManager, error) { diff --git a/permission/bind/permission_impl.go b/permission/bind/permission_impl.go index 0e5c7e722..0af1f7b6c 100644 --- a/permission/bind/permission_impl.go +++ b/permission/bind/permission_impl.go @@ -31,7 +31,7 @@ var ( const PermImplABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateAccountStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_access\",\"type\":\"uint256\"},{\"name\":\"_voter\",\"type\":\"bool\"},{\"name\":\"_admin\",\"type\":\"bool\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addNewRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminOrg\",\"type\":\"string\"},{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"}],\"name\":\"setPolicy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"startBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"addAdminNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"assignAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"updateNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addAdminAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"removeRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"validateAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"assignAccountRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"isOrgAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_breadth\",\"type\":\"uint256\"},{\"name\":\"_depth\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_pOrgId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addSubOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"startBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPolicyDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isNetworkAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getPendingOp\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminOrg\",\"type\":\"string\"},{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"},{\"name\":\"_networkBootStatus\",\"type\":\"bool\"}],\"name\":\"setMigrationPolicy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"},{\"name\":\"_orgManager\",\"type\":\"address\"},{\"name\":\"_rolesManager\",\"type\":\"address\"},{\"name\":\"_accountManager\",\"type\":\"address\"},{\"name\":\"_voterManager\",\"type\":\"address\"},{\"name\":\"_nodeManager\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_networkBootStatus\",\"type\":\"bool\"}],\"name\":\"PermissionsInitialized\",\"type\":\"event\"}]" // PermImplBin is the compiled bytecode used for deploying new contracts. -const PermImplBin = `60806040526003600955600a805460ff191690553480156200002057600080fd5b5060405160c08062007583833981018060405260c08110156200004257600080fd5b508051602082015160408301516060840151608085015160a09095015160058054600160a060020a03968716600160a060020a03199182161790915560048054958716958216959095179094556001805493861693851693909317909255600080549185169184169190911790556002805494841694831694909417909355600380549290931691161790556174a580620000de6000396000f3fe608060405234801561001057600080fd5b50600436106101d35760003560e060020a90048063655a8ef511610108578063b5546564116100a6578063dbfad71111610075578063dbfad7111461119a578063f346a3a714611267578063f5ad584a146113d3578063f922f802146114e3576101d3565b8063b554656414610edc578063c3dc8e0914610f59578063cc9ba6fa14611020578063d1aa0c2014611174576101d3565b80638baa8191116100e25780638baa819114610baa5780639bd3810114610cee578063a5843f0814610da2578063a64d286014610dc5576101d3565b8063655a8ef5146109b05780636b568d7614610a775780638884304114610b2b576101d3565b8063404bf3eb116101755780634cbfa82e1161014f5780634cbfa82e146107f45780634fe57e7a146107fc57806359a260a3146108225780635ca5adbe146108e9576101d3565b8063404bf3eb1461068557806344478e79146107595780634b20f45f14610775576101d3565b80631c249912116101b15780631c2499121461044c5780633bc07dea146104cb5780633cf5f33b1461059a5780633f25c28814610617576101d3565b806304e81f1e146101d85780631b04c276146102615780631b6102201461033e575b600080fd5b61025f600480360360808110156101ee57600080fd5b810190602081018135602060020a81111561020857600080fd5b82018360208201111561021a57600080fd5b803590602001918460018302840111602060020a8311171561023b57600080fd5b9193509150600160a060020a038135811691602081013591604090910135166115b2565b005b61025f600480360360c081101561027757600080fd5b810190602081018135602060020a81111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111602060020a831117156102c457600080fd5b919390929091602081019035602060020a8111156102e157600080fd5b8201836020820111156102f357600080fd5b803590602001918460018302840111602060020a8311171561031457600080fd5b91935091508035906020810135151590604081013515159060600135600160a060020a031661181e565b61025f6004803603606081101561035457600080fd5b810190602081018135602060020a81111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460018302840111602060020a831117156103a157600080fd5b919390929091602081019035602060020a8111156103be57600080fd5b8201836020820111156103d057600080fd5b803590602001918460018302840111602060020a831117156103f157600080fd5b919390929091602081019035602060020a81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460018302840111602060020a8311171561044157600080fd5b509092509050611af9565b61025f6004803603606081101561046257600080fd5b810190602081018135602060020a81111561047c57600080fd5b82018360208201111561048e57600080fd5b803590602001918460018302840111602060020a831117156104af57600080fd5b9193509150600160a060020a0381358116916020013516611c3b565b61025f600480360360808110156104e157600080fd5b810190602081018135602060020a8111156104fb57600080fd5b82018360208201111561050d57600080fd5b803590602001918460018302840111602060020a8311171561052e57600080fd5b919390929091602081019035602060020a81111561054b57600080fd5b82018360208201111561055d57600080fd5b803590602001918460018302840111602060020a8311171561057e57600080fd5b9193509150600160a060020a0381358116916020013516611f53565b61025f600480360360608110156105b057600080fd5b810190602081018135602060020a8111156105ca57600080fd5b8201836020820111156105dc57600080fd5b803590602001918460018302840111602060020a831117156105fd57600080fd5b919350915080359060200135600160a060020a0316612534565b61025f6004803603602081101561062d57600080fd5b810190602081018135602060020a81111561064757600080fd5b82018360208201111561065957600080fd5b803590602001918460018302840111602060020a8311171561067a57600080fd5b509092509050612855565b61025f6004803603608081101561069b57600080fd5b810190602081018135602060020a8111156106b557600080fd5b8201836020820111156106c757600080fd5b803590602001918460018302840111602060020a831117156106e857600080fd5b91939092600160a060020a0383351692604081019060200135602060020a81111561071257600080fd5b82018360208201111561072457600080fd5b803590602001918460018302840111602060020a8311171561074557600080fd5b919350915035600160a060020a0316612a82565b610761612e62565b604080519115158252519081900360200190f35b61025f6004803603606081101561078b57600080fd5b810190602081018135602060020a8111156107a557600080fd5b8201836020820111156107b757600080fd5b803590602001918460018302840111602060020a831117156107d857600080fd5b9193509150600160a060020a0381358116916020013516612f9a565b6107616131fc565b61025f6004803603602081101561081257600080fd5b5035600160a060020a0316613206565b61025f6004803603606081101561083857600080fd5b810190602081018135602060020a81111561085257600080fd5b82018360208201111561086457600080fd5b803590602001918460018302840111602060020a8311171561088557600080fd5b919390929091602081019035602060020a8111156108a257600080fd5b8201836020820111156108b457600080fd5b803590602001918460018302840111602060020a831117156108d557600080fd5b919350915035600160a060020a0316613540565b61025f600480360360608110156108ff57600080fd5b810190602081018135602060020a81111561091957600080fd5b82018360208201111561092b57600080fd5b803590602001918460018302840111602060020a8311171561094c57600080fd5b919390929091602081019035602060020a81111561096957600080fd5b82018360208201111561097b57600080fd5b803590602001918460018302840111602060020a8311171561099c57600080fd5b919350915035600160a060020a03166137d5565b61025f600480360360608110156109c657600080fd5b810190602081018135602060020a8111156109e057600080fd5b8201836020820111156109f257600080fd5b803590602001918460018302840111602060020a83111715610a1357600080fd5b919390929091602081019035602060020a811115610a3057600080fd5b820183602082011115610a4257600080fd5b803590602001918460018302840111602060020a83111715610a6357600080fd5b919350915035600160a060020a0316613cb0565b61076160048036036040811015610a8d57600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610ab757600080fd5b820183602082011115610ac957600080fd5b803590602001918460018302840111602060020a83111715610aea57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613f2d945050505050565b61025f60048036036060811015610b4157600080fd5b810190602081018135602060020a811115610b5b57600080fd5b820183602082011115610b6d57600080fd5b803590602001918460018302840111602060020a83111715610b8e57600080fd5b9193509150600160a060020a0381358116916020013516614031565b61025f60048036036080811015610bc057600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610bea57600080fd5b820183602082011115610bfc57600080fd5b803590602001918460018302840111602060020a83111715610c1d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050602060020a811115610c6f57600080fd5b820183602082011115610c8157600080fd5b803590602001918460018302840111602060020a83111715610ca257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050509035600160a060020a031691506144b59050565b61076160048036036040811015610d0457600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610d2e57600080fd5b820183602082011115610d4057600080fd5b803590602001918460018302840111602060020a83111715610d6157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506149df945050505050565b61025f60048036036040811015610db857600080fd5b5080359060200135614db3565b61025f60048036036080811015610ddb57600080fd5b810190602081018135602060020a811115610df557600080fd5b820183602082011115610e0757600080fd5b803590602001918460018302840111602060020a83111715610e2857600080fd5b919390929091602081019035602060020a811115610e4557600080fd5b820183602082011115610e5757600080fd5b803590602001918460018302840111602060020a83111715610e7857600080fd5b919390929091602081019035602060020a811115610e9557600080fd5b820183602082011115610ea757600080fd5b803590602001918460018302840111602060020a83111715610ec857600080fd5b919350915035600160a060020a03166152b3565b61025f60048036036060811015610ef257600080fd5b810190602081018135602060020a811115610f0c57600080fd5b820183602082011115610f1e57600080fd5b803590602001918460018302840111602060020a83111715610f3f57600080fd5b919350915080359060200135600160a060020a0316615729565b61025f60048036036060811015610f6f57600080fd5b810190602081018135602060020a811115610f8957600080fd5b820183602082011115610f9b57600080fd5b803590602001918460018302840111602060020a83111715610fbc57600080fd5b919390929091602081019035602060020a811115610fd957600080fd5b820183602082011115610feb57600080fd5b803590602001918460018302840111602060020a8311171561100c57600080fd5b919350915035600160a060020a0316615a9b565b611028615dd0565b604080518215156060820152608080825286519082015285519091829160208084019284019160a08501918a019080838360005b8381101561107457818101518382015260200161105c565b50505050905090810190601f1680156110a15780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b838110156110d45781810151838201526020016110bc565b50505050905090810190601f1680156111015780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b8381101561113457818101518382015260200161111c565b50505050905090810190601f1680156111615780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b6107616004803603602081101561118a57600080fd5b5035600160a060020a0316615fa3565b61025f600480360360808110156111b057600080fd5b810190602081018135602060020a8111156111ca57600080fd5b8201836020820111156111dc57600080fd5b803590602001918460018302840111602060020a831117156111fd57600080fd5b919390929091602081019035602060020a81111561121a57600080fd5b82018360208201111561122c57600080fd5b803590602001918460018302840111602060020a8311171561124d57600080fd5b919350915080359060200135600160a060020a03166161bd565b6112d56004803603602081101561127d57600080fd5b810190602081018135602060020a81111561129757600080fd5b8201836020820111156112a957600080fd5b803590602001918460018302840111602060020a831117156112ca57600080fd5b50909250905061642e565b60405180806020018060200185600160a060020a0316600160a060020a03168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561133457818101518382015260200161131c565b50505050905090810190601f1680156113615780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561139457818101518382015260200161137c565b50505050905090810190601f1680156113c15780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61025f600480360360808110156113e957600080fd5b810190602081018135602060020a81111561140357600080fd5b82018360208201111561141557600080fd5b803590602001918460018302840111602060020a8311171561143657600080fd5b919390929091602081019035602060020a81111561145357600080fd5b82018360208201111561146557600080fd5b803590602001918460018302840111602060020a8311171561148657600080fd5b919390929091602081019035602060020a8111156114a357600080fd5b8201836020820111156114b557600080fd5b803590602001918460018302840111602060020a831117156114d657600080fd5b91935091503515156165ad565b61025f600480360360808110156114f957600080fd5b810190602081018135602060020a81111561151357600080fd5b82018360208201111561152557600080fd5b803590602001918460018302840111602060020a8311171561154657600080fd5b919390929091602081019035602060020a81111561156357600080fd5b82018360208201111561157557600080fd5b803590602001918460018302840111602060020a8311171561159657600080fd5b9193509150600160a060020a038135811691602001351661669c565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561160357600080fd5b505afa158015611617573d6000803e3d6000fd5b505050506040513d602081101561162d57600080fd5b5051600160a060020a031633146116785760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116bc92508491508390506149df565b15156001146116ff5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b836001148061170e5750836002145b806117195750836003145b15156117595760405160e560020a62461bcd0281526004018080602001828103825260258152602001806173e56025913960400191505060405180910390fd5b6000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a03878116602483015260448201879052606060048301908152606483018a90529216916384b7a84a918a918a918a918a918190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117fd57600080fd5b505af1158015611811573d6000803e3d6000fd5b5050505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561186f57600080fd5b505afa158015611883573d6000803e3d6000fd5b505050506040513d602081101561189957600080fd5b5051600160a060020a031633146118e45760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119269250839150616c8a9050565b151560011461196d576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b8187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b192508491508390506149df565b15156001146119f45760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b6001546040517f7b713579000000000000000000000000000000000000000000000000000000008152604481018990528715156064820152861515608482015260a06004820190815260a482018d9052600160a060020a0390921691637b713579918e918e918e918e918e918e918e91908190602481019060c4018a8a80828437600083820152601f01601f191690910184810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050505050505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611b4a57600080fd5b505afa158015611b5e573d6000803e3d6000fd5b505050506040513d6020811015611b7457600080fd5b5051600160a060020a03163314611bbf5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615611c0b576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b611c1760068888617316565b50611c2460078686617316565b50611c3160088484617316565b5050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611c8c57600080fd5b505afa158015611ca0573d6000803e3d6000fd5b505050506040513d6020811015611cb657600080fd5b5051600160a060020a03163314611d015760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b80611d0b81615fa3565b1515600114611d4e5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a03858116602483015260046044830181905260608382019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611df657600080fd5b505af1158015611e0a573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d028152600160a060020a03888116606483015260066084830181905260a060048401908152815460001960018216156101000201169590950460a4840181905291909316955063e98ac22d945091928a928a928a928692909182916024820191604481019160c49091019086908015611ed75780601f10611eac57610100808354040283529160200191611ed7565b820191906000526020600020905b815481529060010190602001808311611eba57829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015611f3457600080fd5b505af1158015611f48573d6000803e3d6000fd5b505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611fa457600080fd5b505afa158015611fb8573d6000803e3d6000fd5b505050506040513d6020811015611fce57600080fd5b5051600160a060020a031633146120195760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061202381615fa3565b15156001146120665760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6120a887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250616d8f915050565b1515600114612101576040805160e560020a62461bcd02815260206004820152601260248201527f4e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261219b939092909183018282801561218e5780601f106121635761010080835404028352916020019161218e565b820191906000526020600020905b81548152906001019060200180831161217157829003601f168201915b5050505050836001616e12565b1561252b57600480546040517fe3028316000000000000000000000000000000000000000000000000000000008152602092810192835260248101899052600160a060020a039091169163e3028316918a918a918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561223057600080fd5b505af1158015612244573d6000803e3d6000fd5b5050600180546009546040517f7b71357900000000000000000000000000000000000000000000000000000000815260448101829052606481018490526084810184905260a0600482019081526008805460026000198289161561010002019091160460a48401819052600160a060020a039095169750637b7135799650948e948e94939192839290918291602481019160c4909101908a90801561232a5780601f106122ff5761010080835404028352916020019161232a565b820191906000526020600020905b81548152906001019060200180831161230d57829003601f168201915b50508381038252878152602001888880828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b15801561237857600080fd5b505af115801561238c573d6000803e3d6000fd5b5050600354604080517f86bc36520000000000000000000000000000000000000000000000000000000081526004810191825260448101899052600160a060020a0390921693506386bc36529250889188918c918c919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561244f57600080fd5b505af1158015612463573d6000803e3d6000fd5b5050600054604080517fc214e5e5000000000000000000000000000000000000000000000000000000008152600160a060020a03888116602483015260048201928352604482018c9052909216935063c214e5e592508a918a9188918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561250157600080fd5b505af1158015612515573d6000803e3d6000fd5b505050506040513d6020811015611f4857600080fd5b50505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561258557600080fd5b505afa158015612599573d6000803e3d6000fd5b505050506040513d60208110156125af57600080fd5b5051600160a060020a031633146125fa5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061260481615fa3565b15156001146126475760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60048054604080517f0cc274930000000000000000000000000000000000000000000000000000000081526024810187905292830190815260448301879052600092600160a060020a0390921691630cc27493918991899189918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156126e357600080fd5b505af11580156126f7573d6000803e3d6000fd5b505050506040513d602081101561270d57600080fd5b50516002805460405160e060020a63e98ac22d0281526000606482018190526084820185905260a0600483019081526006805460001960018216156101000201169590950460a48401819052959650600160a060020a039093169463e98ac22d94938c938c939289929182916024820191604481019160c4909101908a9080156127d85780601f106127ad576101008083540402835291602001916127d8565b820191906000526020600020905b8154815290600101906020018083116127bb57829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b15801561283557600080fd5b505af1158015612849573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156128a657600080fd5b505afa1580156128ba573d6000803e3d6000fd5b505050506040513d60208110156128d057600080fd5b5051600160a060020a0316331461291b5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615612967576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b600354604080517fe3b09d840000000000000000000000000000000000000000000000000000000081526004810191825260448101859052600160a060020a039092169163e3b09d84918691869160069181906024810190606401868680828437600083820152601f01601f191690910184810383528554600260001961010060018416150201909116048082526020909101915085908015612a4b5780601f10612a2057610100808354040283529160200191612a4b565b820191906000526020600020905b815481529060010190602001808311612a2e57829003601f168201915b505095505050505050600060405180830381600087803b158015612a6e57600080fd5b505af115801561252b573d6000803e3d6000fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612ad357600080fd5b505afa158015612ae7573d6000803e3d6000fd5b505050506040513d6020811015612afd57600080fd5b5051600160a060020a03163314612b485760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b8a9250839150616f229050565b1515600114612be3576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b81612bed81615fa3565b1515600114612c305760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d938b938e938e938d938d9391929190604481019060a401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612d0957600080fd5b505af1158015612d1d573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d028152600160a060020a038b8116606483015260046084830181905260a08382019081526006805460001960018216156101000201169690960460a4850181905292909416965063e98ac22d95508e938e938e9382916024810191604482019160c401908a908015612de35780601f10612db857610100808354040283529160200191612de3565b820191906000526020600020905b815481529060010190602001808311612dc657829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015612e4057600080fd5b505af1158015612e54573d6000803e3d6000fd5b505050505050505050505050565b600554604080517fe572515c0000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163e572515c916004808301926020929190829003018186803b158015612ec057600080fd5b505afa158015612ed4573d6000803e3d6000fd5b505050506040513d6020811015612eea57600080fd5b5051600160a060020a03163314612f355760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615612f81576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b600a805460ff19166001179081905560ff1691505b5090565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612feb57600080fd5b505afa158015612fff573d6000803e3d6000fd5b505050506040513d602081101561301557600080fd5b5051600160a060020a031633146130605760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061306a81615fa3565b15156001146130ad5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152613147939092909183018282801561313a5780601f1061310f5761010080835404028352916020019161313a565b820191906000526020600020905b81548152906001019060200180831161311d57829003601f168201915b5050505050836006616e12565b156131f5576000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660248301526005604483018190526060600484019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611f3457600080fd5b5050505050565b600a5460ff165b90565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561325757600080fd5b505afa15801561326b573d6000803e3d6000fd5b505050506040513d602081101561328157600080fd5b5051600160a060020a031633146132cc5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615613318576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526133b293909290918301828280156133a55780601f1061337a576101008083540402835291602001916133a5565b820191906000526020600020905b81548152906001019060200180831161338857829003601f168201915b5050505050836001616fe7565b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830190815260026064840181905260806024850190815260068054600019600182161561010002011683900460848701819052949096169563e3483a9d95899591946007949390929091604481019160a4909101908790801561348c5780601f106134615761010080835404028352916020019161348c565b820191906000526020600020905b81548152906001019060200180831161346f57829003601f168201915b50508381038252855460026000196101006001841615020190911604808252602090910190869080156135005780601f106134d557610100808354040283529160200191613500565b820191906000526020600020905b8154815290600101906020018083116134e357829003601f168201915b50509650505050505050600060405180830381600087803b15801561352457600080fd5b505af1158015613538573d6000803e3d6000fd5b505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561359157600080fd5b505afa1580156135a5573d6000803e3d6000fd5b505050506040513d60208110156135bb57600080fd5b5051600160a060020a031633146136065760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506136489250839150616c8a9050565b151560011461368f576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b8186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506136d392508491508390506149df565b15156001146137165760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b600354604080517f3f5e1a450000000000000000000000000000000000000000000000000000000081526004810191825260448101889052600160a060020a0390921691633f5e1a4591899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612e4057600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561382657600080fd5b505afa15801561383a573d6000803e3d6000fd5b505050506040513d602081101561385057600080fd5b5051600160a060020a0316331461389b5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506138dd9250839150616c8a9050565b1515600114613924576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b8184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061396892508491508390506149df565b15156001146139ab5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b6040805160208082019081526007805460026000196101006001841615020190911604938301849052929091829160609091019084908015613a2e5780601f10613a0357610100808354040283529160200191613a2e565b820191906000526020600020905b815481529060010190602001808311613a1157829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015613b9b57506040805160208082019081526008805460026000196101006001841615020190911604938301849052929091829160609091019084908015613b295780601f10613afe57610100808354040283529160200191613b29565b820191906000526020600020905b815481529060010190602001808311613b0c57829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014155b1515613bf1576040805160e560020a62461bcd02815260206004820152601d60248201527f61646d696e20726f6c65732063616e6e6f742062652072656d6f766564000000604482015290519081900360640190fd5b600154604080517fa634301200000000000000000000000000000000000000000000000000000000815260048101918252604481018a9052600160a060020a039092169163a6343012918b918b918b918b919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612e4057600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015613d0157600080fd5b505afa158015613d15573d6000803e3d6000fd5b505050506040513d6020811015613d2b57600080fd5b5051600160a060020a03163314613d765760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b80613d8081615fa3565b1515600114613dc35760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152613e5d9390929091830182828015613e505780601f10613e2557610100808354040283529160200191613e50565b820191906000526020600020905b815481529060010190602001808311613e3357829003601f168201915b5050505050836005616e12565b15613538576003546040517f0cc5014600000000000000000000000000000000000000000000000000000000815260056044820181905260606004830190815260648301879052600160a060020a0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561283557600080fd5b60008054604080517f6b568d76000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301908152602483019384528651604484015286519190941693636b568d76938893889360649091019060208501908083838c5b83811015613fb1578181015183820152602001613f99565b50505050905090810190601f168015613fde5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015613ffc57600080fd5b505afa158015614010573d6000803e3d6000fd5b505050506040513d602081101561402657600080fd5b505190505b92915050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561408257600080fd5b505afa158015614096573d6000803e3d6000fd5b505050506040513d60208110156140ac57600080fd5b5051600160a060020a031633146140f75760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061410181615fa3565b15156001146141445760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526141de93909290918301828280156141d15780601f106141a6576101008083540402835291602001916141d1565b820191906000526020600020905b8154815290600101906020018083116141b457829003601f168201915b5050505050836004616e12565b156131f557600080546040517f1d09dc93000000000000000000000000000000000000000000000000000000008152602060048201908152602482018890528392600160a060020a031691631d09dc93918a918a91908190604401848480828437600081840152601f19601f82011690508083019250505093505050506040805180830381600087803b15801561427457600080fd5b505af1158015614288573d6000803e3d6000fd5b505050506040513d604081101561429e57600080fd5b5080516020909101519092509050811561434c5760068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261434c939092909183018282801561433f5780601f106143145761010080835404028352916020019161433f565b820191906000526020600020905b81548152906001019060200180831161432257829003601f168201915b5050505050826000616fe7565b60008054604080517fc214e5e5000000000000000000000000000000000000000000000000000000008152600160a060020a03898116602483015260048201928352604482018b90529092169163c214e5e5918b918b918b918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156143e757600080fd5b505af11580156143fb573d6000803e3d6000fd5b505050506040513d602081101561441157600080fd5b505190508015611c315760068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152611c3193909290918301828280156144a85780601f1061447d576101008083540402835291602001916144a8565b820191906000526020600020905b81548152906001019060200180831161448b57829003601f168201915b5050505050876001616fe7565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561450657600080fd5b505afa15801561451a573d6000803e3d6000fd5b505050506040513d602081101561453057600080fd5b5051600160a060020a0316331461457b5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b808361458782826149df565b15156001146145ca5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b846145d481616c8a565b151560011461461b576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b6146258787613f2d565b151560011461467e576040805160e560020a62461bcd02815260206004820152601d60248201527f6f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b61468885876171a9565b15156001146146e1576040805160e560020a62461bcd02815260206004820152601460248201527f726f6c6520646f6573206e6f7420657869737473000000000000000000000000604482015290519081900360640190fd5b600154600090600160a060020a031663be322e548789614700816171c4565b6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561475757818101518382015260200161473f565b50505050905090810190601f1680156147845780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156147b757818101518382015260200161479f565b50505050905090810190601f1680156147e45780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b838110156148175781810151838201526020016147ff565b50505050905090810190601f1680156148445780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561486557600080fd5b505afa158015614879573d6000803e3d6000fd5b505050506040513d602081101561488f57600080fd5b5051600080546040517f143a5604000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830190815285151560648401526080602484019081528d5160848501528d51969750919093169463143a5604948e948e948e948a9492939092604483019260a401916020890191908190849084905b8381101561492f578181015183820152602001614917565b50505050905090810190601f16801561495c5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561498f578181015183820152602001614977565b50505050905090810190601f1680156149bc5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015612e4057600080fd5b60008054600160a060020a031663e8b42bf484846149fc816171c4565b6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015614a67578181015183820152602001614a4f565b50505050905090810190601f168015614a945780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015614ac7578181015183820152602001614aaf565b50505050905090810190601f168015614af45780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b158015614b1457600080fd5b505afa158015614b28573d6000803e3d6000fd5b505050506040513d6020811015614b3e57600080fd5b505115614b4d5750600161402b565b60015460008054604080517f81d66b23000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015291519482169463be322e549493909216926381d66b2392602480840193829003018186803b158015614bbc57600080fd5b505afa158015614bd0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015614bf957600080fd5b810190808051602060020a811115614c1057600080fd5b82016020810184811115614c2357600080fd5b8151602060020a811182820187101715614c3c57600080fd5b505092919050505084614c4e866171c4565b6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015614ca5578181015183820152602001614c8d565b50505050905090810190601f168015614cd25780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015614d05578181015183820152602001614ced565b50505050905090810190601f168015614d325780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015614d65578181015183820152602001614d4d565b50505050905090810190601f168015614d925780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b158015613ffc57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015614e0457600080fd5b505afa158015614e18573d6000803e3d6000fd5b505050506040513d6020811015614e2e57600080fd5b5051600160a060020a03163314614e795760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615614ec5576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b600480546040517f9e58eb9f00000000000000000000000000000000000000000000000000000000815260248101869052604481018590526060928101928352600680546002600019600183161561010002019091160460648301819052600160a060020a0390931693639e58eb9f9391928892889291829160849091019086908015614f935780601f10614f6857610100808354040283529160200191614f93565b820191906000526020600020905b815481529060010190602001808311614f7657829003601f168201915b5050945050505050600060405180830381600087803b158015614fb557600080fd5b505af1158015614fc9573d6000803e3d6000fd5b5050600180546009546040517f7b71357900000000000000000000000000000000000000000000000000000000815260448101829052606481018490526084810184905260a0600482019081526007805460026000198289161561010002019091160460a48401819052600160a060020a039095169750637b71357996509460069490928392918291602481019160c490910190899080156150ac5780601f10615081576101008083540402835291602001916150ac565b820191906000526020600020905b81548152906001019060200180831161508f57829003601f168201915b50508381038252875460026000196101006001841615020190911604808252602090910190889080156151205780601f106150f557610100808354040283529160200191615120565b820191906000526020600020905b81548152906001019060200180831161510357829003601f168201915b5050975050505050505050600060405180830381600087803b15801561514557600080fd5b505af1158015615159573d6000803e3d6000fd5b5050600054604080517fcef7f6af00000000000000000000000000000000000000000000000000000000815260048101918252600780546002600019600183161561010002019091160460448301819052600160a060020a03909416955063cef7f6af9450926008929182916024820191606401908690801561521d5780601f106151f25761010080835404028352916020019161521d565b820191906000526020600020905b81548152906001019060200180831161520057829003601f168201915b50508381038252845460026000196101006001841615020190911604808252602090910190859080156152915780601f1061526657610100808354040283529160200191615291565b820191906000526020600020905b81548152906001019060200180831161527457829003601f168201915b5050945050505050600060405180830381600087803b158015612a6e57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561530457600080fd5b505afa158015615318573d6000803e3d6000fd5b505050506040513d602081101561532e57600080fd5b5051600160a060020a031633146153795760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506153bb9250839150616f229050565b1515600114615414576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061545892508491508390506149df565b151560011461549b5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b60048054604080517f1f953480000000000000000000000000000000000000000000000000000000008152928301908152604483018c9052600160a060020a0390911691631f953480918d918d918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561555a57600080fd5b505af115801561556e573d6000803e3d6000fd5b5050505060608a8a8a8a604051602001808060200180602001806020018481038452888882818152602001925080828437600083820152601f01601f1916909101858103808552600182527f2e0000000000000000000000000000000000000000000000000000000000000060208301526040908101845281018790526060019050868680828437600083820181905260408051601f909301601f199081169095018381039095018352939093529a50508e11159750611811965050505050505057600354604080517f3f5e1a450000000000000000000000000000000000000000000000000000000081526004810191825260448101899052600160a060020a0390921691633f5e1a45918a918a918691819060248101906064018686808284376000838201819052601f909101601f191690920185810384528651815286516020918201939188019250908190849084905b838110156156da5781810151838201526020016156c2565b50505050905090810190601f1680156157075780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611ad457600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561577a57600080fd5b505afa15801561578e573d6000803e3d6000fd5b505050506040513d60208110156157a457600080fd5b5051600160a060020a031633146157ef5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b806157f981615fa3565b151560011461583c5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b826001148061584b5750826002145b15156158a1576040805160e560020a62461bcd02815260206004820152601560248201527f4f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60008084600114156158b957506002905060036158ca565b84600214156158ca57506003905060055b61590b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250616d8f915050565b1515600114615964576040805160e560020a62461bcd02815260206004820152601560248201527f6f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526159fd93909290918301828280156159f15780601f106159c6576101008083540402835291602001916159f1565b820191906000526020600020905b8154815290600101906020018083116159d457829003601f168201915b50505050508584616e12565b1561252b5760048054604080517f14f775f90000000000000000000000000000000000000000000000000000000081526024810189905292830190815260448301899052600160a060020a03909116916314f775f9918a918a918a918190606401858580828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b1580156117fd57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015615aec57600080fd5b505afa158015615b00573d6000803e3d6000fd5b505050506040513d6020811015615b1657600080fd5b5051600160a060020a03163314615b615760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b80615b6b81615fa3565b1515600114615bae5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6003546040517f0cc50146000000000000000000000000000000000000000000000000000000008152600460448201819052606082820190815260648301879052600160a060020a0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015615c7857600080fd5b505af1158015615c8c573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d02815260006064820181905260056084830181905260a0600484019081526006805460001960018216156101000201169690960460a48501819052600160a060020a03909516975063e98ac22d96508d948d948d948d9490939092909182916024820191604481019160c4909101908c908015615d5d5780601f10615d3257610100808354040283529160200191615d5d565b820191906000526020600020905b815481529060010190602001808311615d4057829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561283557600080fd5b600a5460068054604080516020601f6002600019600187161561010002019095169490940493840181900481028201810190925282815260609485948594600094919360079360089360ff909116928691830182828015615e725780601f10615e4757610100808354040283529160200191615e72565b820191906000526020600020905b815481529060010190602001808311615e5557829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295995088945092508401905082828015615f005780601f10615ed557610100808354040283529160200191615f00565b820191906000526020600020905b815481529060010190602001808311615ee357829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295985087945092508401905082828015615f8e5780601f10615f6357610100808354040283529160200191615f8e565b820191906000526020600020905b815481529060010190602001808311615f7157829003601f168201915b50505050509150935093509350935090919293565b604080516020808201908152600780546002600019610100600184161502019091160493830184905260009390928291606090910190849080156160285780601f10615ffd57610100808354040283529160200191616028565b820191906000526020600020905b81548152906001019060200180831161600b57829003601f168201915b505060408051601f198184030181528282528051602090910120600080547f81d66b23000000000000000000000000000000000000000000000000000000008552600160a060020a038a8116600487015293519297509290921694506381d66b239350602480840193829003018186803b1580156160a557600080fd5b505afa1580156160b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156160e257600080fd5b810190808051602060020a8111156160f957600080fd5b8201602081018481111561610c57600080fd5b8151602060020a81118282018710171561612557600080fd5b50509291905050506040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561616d578181015183820152602001616155565b50505050905090810190601f16801561619a5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120149050919050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561620e57600080fd5b505afa158015616222573d6000803e3d6000fd5b505050506040513d602081101561623857600080fd5b5051600160a060020a031633146162835760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506162c792508491508390506149df565b151560011461630a5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b83600114806163195750836002145b806163245750836003145b15156163645760405160e560020a62461bcd0281526004018080602001828103825260258152602001806173e56025913960400191505060405180910390fd5b6003546040517f0cc501460000000000000000000000000000000000000000000000000000000081526044810186905260606004820190815260648201889052600160a060020a0390921691630cc5014691899189918d918d918b919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015612e4057600080fd5b6002546040517f014e6acc0000000000000000000000000000000000000000000000000000000081526020600482019081526024820184905260609283926000928392600160a060020a03169163014e6acc9189918991908190604401848480828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b1580156164c557600080fd5b505afa1580156164d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561650257600080fd5b810190808051602060020a81111561651957600080fd5b8201602081018481111561652c57600080fd5b8151602060020a81118282018710171561654557600080fd5b50509291906020018051602060020a81111561656057600080fd5b8201602081018481111561657357600080fd5b8151602060020a81118282018710171561658c57600080fd5b50506020820151604090920151949b909a5090985092965091945050505050565b600554600160a060020a0316331461660f576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b600a5460009060ff161561665b576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b61666760068989617316565b5061667460078787617316565b5061668160088585617316565b5050600a805460ff1916911515919091179055505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156166ed57600080fd5b505afa158015616701573d6000803e3d6000fd5b505050506040513d602081101561671757600080fd5b5051600160a060020a031633146167625760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460019060ff16151581146167b1576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b816167bb81615fa3565b15156001146167fe5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6002805460405160e060020a63e98ac22d028152600160a060020a03878116606483015260016084830181905260a06004840190815260068054600019818516156101000201169690960460a48501819052929094169463e98ac22d9490938e938e938e938e938e9382916024810191604482019160c401908c9080156168c65780601f1061689b576101008083540402835291602001916168c6565b820191906000526020600020905b8154815290600101906020018083116168a957829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561693957600080fd5b505af115801561694d573d6000803e3d6000fd5b5050600480546040517ff9953de50000000000000000000000000000000000000000000000000000000081526020928101928352602481018c9052600160a060020a03909116935063f9953de592508b918b918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156169e157600080fd5b505af11580156169f5573d6000803e3d6000fd5b5050600354604080517fa97a440600000000000000000000000000000000000000000000000000000000815260048101918252604481018a9052600160a060020a03909216935063a97a44069250899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015616ab857600080fd5b505af1158015616acc573d6000803e3d6000fd5b50505050616b108489898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f2d92505050565b1515600114616b69576040805160e560020a62461bcd02815260206004820152601d60248201527f4f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d9389938e938e93600893909290604481019060a401878780828437600083820152601f01601f191690910184810383528654600260001961010060018416150201909116048082526020909101915086908015616c655780601f10616c3a57610100808354040283529160200191616c65565b820191906000526020600020905b815481529060010190602001808311616c4857829003601f168201915b5050975050505050505050600060405180830381600087803b158015612e4057600080fd5b60048054604080517f8c8642df000000000000000000000000000000000000000000000000000000008152600260248201819052938101918252845160448201528451600094600160a060020a0390941693638c8642df93879391929091829160649091019060208601908083838c5b83811015616d12578181015183820152602001616cfa565b50505050905090810190601f168015616d3f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015616d5d57600080fd5b505afa158015616d71573d6000803e3d6000fd5b505050506040513d6020811015616d8757600080fd5b505192915050565b60048054604080517f8c8642df00000000000000000000000000000000000000000000000000000000815260248101859052928301908152845160448401528451600093600160a060020a0390931692638c8642df9287928792829160649091019060208601908083838c83811015613fb1578181015183820152602001613f99565b6002546040517fb0213864000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260448201849052606060048301908152865160648401528651600094929092169263b02138649288928892889282916084019060208701908083838d5b83811015616ea0578181015183820152602001616e88565b50505050905090810190601f168015616ecd5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015616eee57600080fd5b505af1158015616f02573d6000803e3d6000fd5b505050506040513d6020811015616f1857600080fd5b5051949350505050565b600480546040517fffe40d1d0000000000000000000000000000000000000000000000000000000081526020928101838152845160248301528451600094600160a060020a039094169363ffe40d1d9387939283926044909201918501908083838b5b83811015616f9d578181015183820152602001616f85565b50505050905090810190601f168015616fca5780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b158015616d5d57600080fd5b80156170d757600254604080517f5607395b000000000000000000000000000000000000000000000000000000008152600160a060020a03858116602483015260048201928352865160448301528651931692635607395b9287928792829160640190602086019080838360005b8381101561706d578181015183820152602001617055565b50505050905090810190601f16801561709a5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156170ba57600080fd5b505af11580156170ce573d6000803e3d6000fd5b505050506171a4565b600254604080517f59cbd6fe000000000000000000000000000000000000000000000000000000008152600160a060020a038581166024830152600482019283528651604483015286519316926359cbd6fe9287928792829160640190602086019080838360005b8381101561715757818101518382015260200161713f565b50505050905090810190601f1680156171845780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612a6e57600080fd5b505050565b600154600090600160a060020a031663abf5739f8484614c4e815b600480546040517f177c8d8a0000000000000000000000000000000000000000000000000000000081526020928101838152845160248301528451606094600160a060020a039094169363177c8d8a93879392839260449092019185019080838360005b83811015617240578181015183820152602001617228565b50505050905090810190601f16801561726d5780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b15801561728a57600080fd5b505afa15801561729e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156172c757600080fd5b810190808051602060020a8111156172de57600080fd5b820160208101848111156172f157600080fd5b8151602060020a81118282018710171561730a57600080fd5b50909695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106173575782800160ff19823516178555617384565b82800160010185558215617384579182015b82811115617384578235825591602001919060010190617369565b50612f96926132039250905b80821115612f96576000815560010161739056fe6f7267206e6f7420696e20617070726f76656420737461747573000000000000496e636f7272656374206e6574776f726b20626f6f7420737461747573000000696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f77656463616e2062652063616c6c656420627920696e7465726661636520636f6e7472616374206f6e6c796163636f756e74206973206e6f742061206e6574776f726b2061646d696e206163636f756e746163636f756e74206973206e6f742061206f72672061646d696e206163636f756e74a165627a7a72305820591e1e60c6af314107b452f2232c34ebdb65dbeaa61497ec77b728de59736cb30029` +const PermImplBin = `608060405260036009556000600a60006101000a81548160ff0219169083151502179055503480156200003157600080fd5b5060405160c0806200a0f5833981018060405260c08110156200005357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505085600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050619ec480620002316000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c010000000000000000000000000000000000000000000000000000000090048063655a8ef511610121578063b5546564116100bf578063dbfad7111161008e578063dbfad711146115e2578063f346a3a7146116da578063f5ad584a14611872578063f922f802146119a1576101ec565b8063b55465641461128f578063c3dc8e0914611332578063cc9ba6fa14611420578063d1aa0c2014611586576101ec565b80638baa8191116100fb5780638baa819114610e8f5780639bd3810114611021578063a5843f0814611114578063a64d28601461114c576101ec565b8063655a8ef514610bf55780636b568d7614610ce35780638884304114610dd6576101ec565b8063404bf3eb1161018e5780634cbfa82e116101685780634cbfa82e146109b35780634fe57e7a146109d557806359a260a314610a195780635ca5adbe14610b07576101ec565b8063404bf3eb146107ca57806344478e79146108d85780634b20f45f146108fa576101ec565b80631c249912116101ca5780631c249912146104e75780633bc07dea146105a05780633cf5f33b146106ae5780633f25c28814610751576101ec565b806304e81f1e146101f15780631b04c276146102b45780631b610220146103c4575b600080fd5b6102b26004803603608081101561020757600080fd5b810190808035906020019064010000000081111561022457600080fd5b82018360208201111561023657600080fd5b8035906020019184600183028401116401000000008311171561025857600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aaf565b005b6103c2600480360360c08110156102ca57600080fd5b81019080803590602001906401000000008111156102e757600080fd5b8201836020820111156102f957600080fd5b8035906020019184600183028401116401000000008311171561031b57600080fd5b90919293919293908035906020019064010000000081111561033c57600080fd5b82018360208201111561034e57600080fd5b8035906020019184600183028401116401000000008311171561037057600080fd5b909192939192939080359060200190929190803515159060200190929190803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2b565b005b6104e5600480360360608110156103da57600080fd5b81019080803590602001906401000000008111156103f757600080fd5b82018360208201111561040957600080fd5b8035906020019184600183028401116401000000008311171561042b57600080fd5b90919293919293908035906020019064010000000081111561044c57600080fd5b82018360208201111561045e57600080fd5b8035906020019184600183028401116401000000008311171561048057600080fd5b9091929391929390803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b909192939192939050505061221c565b005b61059e600480360360608110156104fd57600080fd5b810190808035906020019064010000000081111561051a57600080fd5b82018360208201111561052c57600080fd5b8035906020019184600183028401116401000000008311171561054e57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061242b565b005b6106ac600480360360808110156105b657600080fd5b81019080803590602001906401000000008111156105d357600080fd5b8201836020820111156105e557600080fd5b8035906020019184600183028401116401000000008311171561060757600080fd5b90919293919293908035906020019064010000000081111561062857600080fd5b82018360208201111561063a57600080fd5b8035906020019184600183028401116401000000008311171561065c57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128a0565b005b61074f600480360360608110156106c457600080fd5b81019080803590602001906401000000008111156106e157600080fd5b8201836020820111156106f357600080fd5b8035906020019184600183028401116401000000008311171561071557600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613058565b005b6107c86004803603602081101561076757600080fd5b810190808035906020019064010000000081111561078457600080fd5b82018360208201111561079657600080fd5b803590602001918460018302840111640100000000831117156107b857600080fd5b90919293919293905050506134c1565b005b6108d6600480360360808110156107e057600080fd5b81019080803590602001906401000000008111156107fd57600080fd5b82018360208201111561080f57600080fd5b8035906020019184600183028401116401000000008311171561083157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561087257600080fd5b82018360208201111561088457600080fd5b803590602001918460018302840111640100000000831117156108a657600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506137f6565b005b6108e0613d6b565b604051808215151515815260200191505060405180910390f35b6109b16004803603606081101561091057600080fd5b810190808035906020019064010000000081111561092d57600080fd5b82018360208201111561093f57600080fd5b8035906020019184600183028401116401000000008311171561096157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6e565b005b6109bb6142de565b604051808215151515815260200191505060405180910390f35b610a17600480360360208110156109eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506142f5565b005b610b0560048036036060811015610a2f57600080fd5b8101908080359060200190640100000000811115610a4c57600080fd5b820183602082011115610a5e57600080fd5b80359060200191846001830284011164010000000083111715610a8057600080fd5b909192939192939080359060200190640100000000811115610aa157600080fd5b820183602082011115610ab357600080fd5b80359060200191846001830284011164010000000083111715610ad557600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614762565b005b610bf360048036036060811015610b1d57600080fd5b8101908080359060200190640100000000811115610b3a57600080fd5b820183602082011115610b4c57600080fd5b80359060200191846001830284011164010000000083111715610b6e57600080fd5b909192939192939080359060200190640100000000811115610b8f57600080fd5b820183602082011115610ba157600080fd5b80359060200191846001830284011164010000000083111715610bc357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614b30565b005b610ce160048036036060811015610c0b57600080fd5b8101908080359060200190640100000000811115610c2857600080fd5b820183602082011115610c3a57600080fd5b80359060200191846001830284011164010000000083111715610c5c57600080fd5b909192939192939080359060200190640100000000811115610c7d57600080fd5b820183602082011115610c8f57600080fd5b80359060200191846001830284011164010000000083111715610cb157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615178565b005b610dbc60048036036040811015610cf957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610d3657600080fd5b820183602082011115610d4857600080fd5b80359060200191846001830284011164010000000083111715610d6a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506154ea565b604051808215151515815260200191505060405180910390f35b610e8d60048036036060811015610dec57600080fd5b8101908080359060200190640100000000811115610e0957600080fd5b820183602082011115610e1b57600080fd5b80359060200191846001830284011164010000000083111715610e3d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615656565b005b61101f60048036036080811015610ea557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ee257600080fd5b820183602082011115610ef457600080fd5b80359060200191846001830284011164010000000083111715610f1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610f7957600080fd5b820183602082011115610f8b57600080fd5b80359060200191846001830284011164010000000083111715610fad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615c48565b005b6110fa6004803603604081101561103757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561107457600080fd5b82018360208201111561108657600080fd5b803590602001918460018302840111640100000000831117156110a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061635e565b604051808215151515815260200191505060405180910390f35b61114a6004803603604081101561112a57600080fd5b8101908080359060200190929190803590602001909291905050506168a9565b005b61128d6004803603608081101561116257600080fd5b810190808035906020019064010000000081111561117f57600080fd5b82018360208201111561119157600080fd5b803590602001918460018302840111640100000000831117156111b357600080fd5b9091929391929390803590602001906401000000008111156111d457600080fd5b8201836020820111156111e657600080fd5b8035906020019184600183028401116401000000008311171561120857600080fd5b90919293919293908035906020019064010000000081111561122957600080fd5b82018360208201111561123b57600080fd5b8035906020019184600183028401116401000000008311171561125d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616f4a565b005b611330600480360360608110156112a557600080fd5b81019080803590602001906401000000008111156112c257600080fd5b8201836020820111156112d457600080fd5b803590602001918460018302840111640100000000831117156112f657600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506174d0565b005b61141e6004803603606081101561134857600080fd5b810190808035906020019064010000000081111561136557600080fd5b82018360208201111561137757600080fd5b8035906020019184600183028401116401000000008311171561139957600080fd5b9091929391929390803590602001906401000000008111156113ba57600080fd5b8201836020820111156113cc57600080fd5b803590602001918460018302840111640100000000831117156113ee57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050617985565b005b611428617e1d565b6040518080602001806020018060200185151515158152602001848103845288818151815260200191508051906020019080838360005b8381101561147a57808201518184015260208101905061145f565b50505050905090810190601f1680156114a75780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b838110156114e05780820151818401526020810190506114c5565b50505050905090810190601f16801561150d5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b8381101561154657808201518184015260208101905061152b565b50505050905090810190601f1680156115735780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b6115c86004803603602081101561159c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061801c565b604051808215151515815260200191505060405180910390f35b6116d8600480360360808110156115f857600080fd5b810190808035906020019064010000000081111561161557600080fd5b82018360208201111561162757600080fd5b8035906020019184600183028401116401000000008311171561164957600080fd5b90919293919293908035906020019064010000000081111561166a57600080fd5b82018360208201111561167c57600080fd5b8035906020019184600183028401116401000000008311171561169e57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506182a6565b005b611751600480360360208110156116f057600080fd5b810190808035906020019064010000000081111561170d57600080fd5b82018360208201111561171f57600080fd5b8035906020019184600183028401116401000000008311171561174157600080fd5b9091929391929390505050618624565b6040518080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156117cd5780820151818401526020810190506117b2565b50505050905090810190601f1680156117fa5780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b83811015611833578082015181840152602081019050611818565b50505050905090810190601f1680156118605780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61199f6004803603608081101561188857600080fd5b81019080803590602001906401000000008111156118a557600080fd5b8201836020820111156118b757600080fd5b803590602001918460018302840111640100000000831117156118d957600080fd5b9091929391929390803590602001906401000000008111156118fa57600080fd5b82018360208201111561190c57600080fd5b8035906020019184600183028401116401000000008311171561192e57600080fd5b90919293919293908035906020019064010000000081111561194f57600080fd5b82018360208201111561196157600080fd5b8035906020019184600183028401116401000000008311171561198357600080fd5b90919293919293908035151590602001909291905050506187ed565b005b611aad600480360360808110156119b757600080fd5b81019080803590602001906401000000008111156119d457600080fd5b8201836020820111156119e657600080fd5b80359060200191846001830284011164010000000083111715611a0857600080fd5b909192939192939080359060200190640100000000811115611a2957600080fd5b820183602082011115611a3b57600080fd5b80359060200191846001830284011164010000000083111715611a5d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050618998565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611b3357600080fd5b505afa158015611b47573d6000803e3d6000fd5b505050506040513d6020811015611b5d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b8085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515611c47838361635e565b1515141515611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b6001841480611cb05750600284145b80611cbb5750600384145b1515611d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180619e046025913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a888888886040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611e0a57600080fd5b505af1158015611e1e573d6000803e3d6000fd5b5050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611eaf57600080fd5b505afa158015611ec3573d6000803e3d6000fd5b505050506040513d6020811015611ed957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515611fc1826191ee565b1515141515612038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561208c838361635e565b15151415156120e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b7135798c8c8c8c8c8c8c6040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001868152602001851515151581526020018415151515815260200183810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508381038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b1580156121f757600080fd5b505af115801561220b573d6000803e3d6000fd5b505050505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156122a057600080fd5b505afa1580156122b4573d6000803e3d6000fd5b505050506040513d60208110156122ca57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612360576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff1615151415156123ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b8686600691906123fd929190619d5e565b5084846007919061240f929190619d5e565b50828260089190612421929190619d5e565b5050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156124af57600080fd5b505afa1580156124c3573d6000803e3d6000fd5b505050506040513d60208110156124d957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561256f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b806001151561257d8261801c565b15151415156125d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a86868660046040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156126d057600080fd5b505af11580156126e4573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600687878760066040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156128215780601f106127f657610100808354040283529160200191612821565b820191906000526020600020905b81548152906001019060200180831161280457829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b15801561288157600080fd5b505af1158015612895573d6000803e3d6000fd5b505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d602081101561294e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156129f28261801c565b1515141515612a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b60011515612a9f88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600161932f565b1515141515612b16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b612bbc60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612baf5780601f10612b8457610100808354040283529160200191612baf565b820191906000526020600020905b815481529060010190602001808311612b9257829003601f168201915b5050505050836001619470565b1561304f57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e302831688886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015612c7e57600080fd5b505af1158015612c92573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b713579600889896009546001806040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018681526020018515151515815260200184151515158152602001838103835289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612db05780601f10612d8557610100808354040283529160200191612db0565b820191906000526020600020905b815481529060010190602001808311612d9357829003601f168201915b50508381038252888882818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612e0157600080fd5b505af1158015612e15573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386bc365286868a8a6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612f0a57600080fd5b505af1158015612f1e573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c214e5e58888866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050506040513d602081101561303c57600080fd5b8101908080519060200190929190505050505b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156130dc57600080fd5b505afa1580156130f0573d6000803e3d6000fd5b505050506040513d602081101561310657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561319c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156131aa8261801c565b1515141515613204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc274938787876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156132cb57600080fd5b505af11580156132df573d6000803e3d6000fd5b505050506040513d60208110156132f557600080fd5b81019080805190602001909291905050509050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600688886000866040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156134415780601f1061341657610100808354040283529160200191613441565b820191906000526020600020905b81548152906001019060200180831161342457829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b1580156134a157600080fd5b505af11580156134b5573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561354557600080fd5b505afa158015613559573d6000803e3d6000fd5b505050506040513d602081101561356f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613605576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515613691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3b09d84848460066040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352868682818152602001925080828437600081840152601f19601f8201169050808301925050508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156137b65780601f1061378b576101008083540402835291602001916137b6565b820191906000526020600020905b81548152906001019060200180831161379957829003601f168201915b505095505050505050600060405180830381600087803b1580156137d957600080fd5b505af11580156137ed573d6000803e3d6000fd5b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561387a57600080fd5b505afa15801561388e573d6000803e3d6000fd5b505050506040513d60208110156138a457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561393a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561398c826195e8565b1515141515613a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b8160011515613a118261801c565b1515141515613a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d878a8a898960016040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015613b9857600080fd5b505af1158015613bac573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d60068a8a8a60046040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613ce95780601f10613cbe57610100808354040283529160200191613ce9565b820191906000526020600020905b815481529060010190602001808311613ccc57829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015613d4957600080fd5b505af1158015613d5d573d6000803e3d6000fd5b505050505050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613df157600080fd5b505afa158015613e05573d6000803e3d6000fd5b505050506040513d6020811015613e1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515613f3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550600a60009054906101000a900460ff1691505090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613ff257600080fd5b505afa158015614006573d6000803e3d6000fd5b505050506040513d602081101561401c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156140b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156140c08261801c565b151514151561411a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6141c060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141b35780601f10614188576101008083540402835291602001916141b3565b820191906000526020600020905b81548152906001019060200180831161419657829003601f168201915b5050505050836006619470565b156142d7576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a86868660056040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050505b5050505050565b6000600a60009054906101000a900460ff16905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561437957600080fd5b505afa15801561438d573d6000803e3d6000fd5b505050506040513d60208110156143a357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614439576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff1615151415156144c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b61456b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561455e5780601f106145335761010080835404028352916020019161455e565b820191906000526020600020905b81548152906001019060200180831161454157829003601f168201915b5050505050836001619720565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d836006600760026040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184815260200183810383528681815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561469f5780601f106146745761010080835404028352916020019161469f565b820191906000526020600020905b81548152906001019060200180831161468257829003601f168201915b50508381038252858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156147225780601f106146f757610100808354040283529160200191614722565b820191906000526020600020905b81548152906001019060200180831161470557829003601f168201915b50509650505050505050600060405180830381600087803b15801561474657600080fd5b505af115801561475a573d6000803e3d6000fd5b505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156147e657600080fd5b505afa1580156147fa573d6000803e3d6000fd5b505050506040513d602081101561481057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156148a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156148f8826191ee565b151514151561496f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156149c3838361635e565b1515141515614a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f5e1a4587878b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015614b0e57600080fd5b505af1158015614b22573d6000803e3d6000fd5b505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015614bb457600080fd5b505afa158015614bc8573d6000803e3d6000fd5b505050506040513d6020811015614bde57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515614cc6826191ee565b1515141515614d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515614d91838361635e565b1515141515614deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b60076040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015614e795780601f10614e4e57610100808354040283529160200191614e79565b820191906000526020600020905b815481529060010190602001808311614e5c57829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015614ff1575060086040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015614f7f5780601f10614f5457610100808354040283529160200191614f7f565b820191906000526020600020905b815481529060010190602001808311614f6257829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014155b1515615065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f61646d696e20726f6c65732063616e6e6f742062652072656d6f76656400000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6343012898989896040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561515657600080fd5b505af115801561516a573d6000803e3d6000fd5b505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156151fc57600080fd5b505afa158015615210573d6000803e3d6000fd5b505050506040513d602081101561522657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156152bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156152ca8261801c565b1515141515615324576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6153ca60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156153bd5780601f10615392576101008083540402835291602001916153bd565b820191906000526020600020905b8154815290600101906020018083116153a057829003601f168201915b5050505050836005619470565b156154e257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc501468585898960056040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b1580156154c957600080fd5b505af11580156154dd573d6000803e3d6000fd5b505050505b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636b568d7684846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156155c85780820151818401526020810190506155ad565b50505050905090810190601f1680156155f55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561561357600080fd5b505afa158015615627573d6000803e3d6000fd5b505050506040513d602081101561563d57600080fd5b8101908080519060200190929190505050905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156156da57600080fd5b505afa1580156156ee573d6000803e3d6000fd5b505050506040513d602081101561570457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561579a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156157a88261801c565b1515141515615802576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6158a860068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561589b5780601f106158705761010080835404028352916020019161589b565b820191906000526020600020905b81548152906001019060200180831161587e57829003601f168201915b5050505050836004619470565b15615c41576000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d09dc9388886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040805180830381600087803b15801561596b57600080fd5b505af115801561597f573d6000803e3d6000fd5b505050506040513d604081101561599557600080fd5b810190808051906020019092919080519060200190929190505050915091508115615a6157615a6060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015615a535780601f10615a2857610100808354040283529160200191615a53565b820191906000526020600020905b815481529060010190602001808311615a3657829003601f168201915b5050505050826000619720565b5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c214e5e58989896040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b158015615b5357600080fd5b505af1158015615b67573d6000803e3d6000fd5b505050506040513d6020811015615b7d57600080fd5b810190808051906020019092919050505090508015615c3d57615c3c60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015615c2f5780601f10615c0457610100808354040283529160200191615c2f565b820191906000526020600020905b815481529060010190602001808311615c1257829003601f168201915b5050505050876001619720565b5b5050505b5050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015615ccc57600080fd5b505afa158015615ce0573d6000803e3d6000fd5b505050506040513d6020811015615cf657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515615d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b808360011515615d9c838361635e565b1515141515615df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b8460011515615e04826191ee565b1515141515615e7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b60011515615e8988886154ea565b1515141515615f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60011515615f0e86886199b5565b1515141515615f85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f726f6c6520646f6573206e6f742065786973747300000000000000000000000081525060200191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be322e548789615fd08b619bd0565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015616043578082015181840152602081019050616028565b50505050905090810190601f1680156160705780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156160a957808201518184015260208101905061608e565b50505050905090810190601f1680156160d65780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561610f5780820151818401526020810190506160f4565b50505050905090810190601f16801561613c5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561615d57600080fd5b505afa158015616171573d6000803e3d6000fd5b505050506040513d602081101561618757600080fd5b810190808051906020019092919050505090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663143a5604898989856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184151515158152602001838103835286818151815260200191508051906020019080838360005b8381101561628657808201518184015260208101905061626b565b50505050905090810190601f1680156162b35780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156162ec5780820151818401526020810190506162d1565b50505050905090810190601f1680156163195780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561633c57600080fd5b505af1158015616350573d6000803e3d6000fd5b505050505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8b42bf484846163a886619bd0565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561644957808201518184015260208101905061642e565b50505050905090810190601f1680156164765780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156164af578082015181840152602081019050616494565b50505050905090810190601f1680156164dc5780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b1580156164fc57600080fd5b505afa158015616510573d6000803e3d6000fd5b505050506040513d602081101561652657600080fd5b81019080805190602001909291905050501561654557600190506168a3565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be322e546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166381d66b23866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038186803b15801561663d57600080fd5b505afa158015616651573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561667b57600080fd5b81019080805164010000000081111561669357600080fd5b828101905060208101848111156166a957600080fd5b81518560018202830111640100000000821117156166c657600080fd5b5050929190505050846166d886619bd0565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561674b578082015181840152602081019050616730565b50505050905090810190601f1680156167785780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156167b1578082015181840152602081019050616796565b50505050905090810190601f1680156167de5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156168175780820151818401526020810190506167fc565b50505050905090810190601f1680156168445780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561686557600080fd5b505afa158015616879573d6000803e3d6000fd5b505050506040513d602081101561688f57600080fd5b810190808051906020019092919050505090505b92915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561692d57600080fd5b505afa158015616941573d6000803e3d6000fd5b505050506040513d602081101561695757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156169ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515616a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e58eb9f600685856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001848152602001838152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616b7b5780601f10616b5057610100808354040283529160200191616b7b565b820191906000526020600020905b815481529060010190602001808311616b5e57829003601f168201915b5050945050505050600060405180830381600087803b158015616b9d57600080fd5b505af1158015616bb1573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b713579600760066009546001806040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018681526020018515151515815260200184151515158152602001838103835288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616ccf5780601f10616ca457610100808354040283529160200191616ccf565b820191906000526020600020905b815481529060010190602001808311616cb257829003601f168201915b5050838103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616d525780601f10616d2757610100808354040283529160200191616d52565b820191906000526020600020905b815481529060010190602001808311616d3557829003601f168201915b5050975050505050505050600060405180830381600087803b158015616d7757600080fd5b505af1158015616d8b573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cef7f6af600760086040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001838103835285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616e885780601f10616e5d57610100808354040283529160200191616e88565b820191906000526020600020905b815481529060010190602001808311616e6b57829003601f168201915b5050838103825284818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616f0b5780601f10616ee057610100808354040283529160200191616f0b565b820191906000526020600020905b815481529060010190602001808311616eee57829003601f168201915b5050945050505050600060405180830381600087803b158015616f2d57600080fd5b505af1158015616f41573d6000803e3d6000fd5b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015616fce57600080fd5b505afa158015616fe2573d6000803e3d6000fd5b505050506040513d6020811015616ff857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561708e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156170e0826195e8565b1515141515617157576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b8188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156171ab838361635e565b1515141515617205576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f9534808b8b8b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156172f657600080fd5b505af115801561730a573d6000803e3d6000fd5b5050505060608a8a8a8a6040516020018085858082843780830192505050807f2e0000000000000000000000000000000000000000000000000000000000000081525060010183838082843780830192505050945050505050604051602081830303815290604052905060008787905011156174c357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f5e1a458888846040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352868682818152602001925080828437600081840152601f19601f820116905080830192505050838103825284818151815260200191508051906020019080838360005b8381101561745b578082015181840152602081019050617440565b50505050905090810190601f1680156174885780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156174aa57600080fd5b505af11580156174be573d6000803e3d6000fd5b505050505b5050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561755457600080fd5b505afa158015617568573d6000803e3d6000fd5b505050506040513d602081101561757e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515617614576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156176228261801c565b151514151561767c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b600183148061768b5750600283145b15156176ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f7065726174696f6e206e6f7420616c6c6f776564000000000000000000000081525060200191505060405180910390fd5b600080600185141561771857600291506003905061772b565b600285141561772a5760039150600590505b5b6001151561777d88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508361932f565b15151415156177f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f7065726174696f6e206e6f7420616c6c6f776564000000000000000000000081525060200191505060405180910390fd5b61789960068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561788d5780601f106178625761010080835404028352916020019161788d565b820191906000526020600020905b81548152906001019060200180831161787057829003601f168201915b50505050508584619470565b1561797c57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314f775f98888886040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561796357600080fd5b505af1158015617977573d6000803e3d6000fd5b505050505b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015617a0957600080fd5b505afa158015617a1d573d6000803e3d6000fd5b505050506040513d6020811015617a3357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515617ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b8060011515617ad78261801c565b1515141515617b31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc501468585898960046040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015617c2b57600080fd5b505af1158015617c3f573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600688888888600060056040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184810384528b818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015617d7f5780601f10617d5457610100808354040283529160200191617d7f565b820191906000526020600020905b815481529060010190602001808311617d6257829003601f168201915b505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015617dfd57600080fd5b505af1158015617e11573d6000803e3d6000fd5b50505050505050505050565b60608060606000600660076008600a60009054906101000a900460ff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015617ecf5780601f10617ea457610100808354040283529160200191617ecf565b820191906000526020600020905b815481529060010190602001808311617eb257829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015617f6b5780601f10617f4057610100808354040283529160200191617f6b565b820191906000526020600020905b815481529060010190602001808311617f4e57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156180075780601f10617fdc57610100808354040283529160200191618007565b820191906000526020600020905b815481529060010190602001808311617fea57829003601f168201915b50505050509150935093509350935090919293565b6000600760405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156180ac5780601f10618081576101008083540402835291602001916180ac565b820191906000526020600020905b81548152906001019060200180831161808f57829003601f168201915b505092505050604051602081830303815290604052805190602001206000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166381d66b23846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038186803b15801561818257600080fd5b505afa158015618196573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156181c057600080fd5b8101908080516401000000008111156181d857600080fd5b828101905060208101848111156181ee57600080fd5b815185600182028301116401000000008211171561820b57600080fd5b50509291905050506040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561825657808201518184015260208101905061823b565b50505050905090810190601f1680156182835780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120149050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561832a57600080fd5b505afa15801561833e573d6000803e3d6000fd5b505050506040513d602081101561835457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156183ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b8086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561843e838361635e565b1515141515618498576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b60018414806184a75750600284145b806184b25750600384145b1515618509576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180619e046025913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc5014687878b8b896040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561860257600080fd5b505af1158015618616573d6000803e3d6000fd5b505050505050505050505050565b606080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663014e6acc87876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b1580156186e557600080fd5b505afa1580156186f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250608081101561872357600080fd5b81019080805164010000000081111561873b57600080fd5b8281019050602081018481111561875157600080fd5b815185600182028301116401000000008211171561876e57600080fd5b5050929190602001805164010000000081111561878a57600080fd5b828101905060208101848111156187a057600080fd5b81518560018202830111640100000000821117156187bd57600080fd5b50509291906020018051906020019092919080519060200190929190505050935093509350935092959194509250565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156188b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6000801515600a60009054906101000a900460ff16151514151561893e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b87876006919061894f929190619d5e565b50858560079190618961929190619d5e565b50838360089190618973929190619d5e565b5081600a60006101000a81548160ff0219169083151502179055505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015618a1c57600080fd5b505afa158015618a30573d6000803e3d6000fd5b505050506040513d6020811015618a4657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515618adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6001801515600a60009054906101000a900460ff161515141515618b68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b8160011515618b768261801c565b1515141515618bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d60068a8a8a8a8a60016040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184810384528b818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015618d0b5780601f10618ce057610100808354040283529160200191618d0b565b820191906000526020600020905b815481529060010190602001808311618cee57829003601f168201915b505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015618d8957600080fd5b505af1158015618d9d573d6000803e3d6000fd5b50505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9953de589896040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015618e5e57600080fd5b505af1158015618e72573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a97a440687878b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015618f6757600080fd5b505af1158015618f7b573d6000803e3d6000fd5b5050505060011515618fd1858a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506154ea565b1515141515619048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d858a8a600860016040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018481526020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156191a75780601f1061917c576101008083540402835291602001916191a7565b820191906000526020600020905b81548152906001019060200180831161918a57829003601f168201915b5050975050505050505050600060405180830381600087803b1580156191cc57600080fd5b505af11580156191e0573d6000803e3d6000fd5b505050505050505050505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8642df8360026040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156192a2578082015181840152602081019050619287565b50505050905090810190601f1680156192cf5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156192ed57600080fd5b505afa158015619301573d6000803e3d6000fd5b505050506040513d602081101561931757600080fd5b81019080805190602001909291905050509050919050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8642df84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156193e25780820151818401526020810190506193c7565b50505050905090810190601f16801561940f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561942d57600080fd5b505afa158015619441573d6000803e3d6000fd5b505050506040513d602081101561945757600080fd5b8101908080519060200190929190505050905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b02138648585856040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561955657808201518184015260208101905061953b565b50505050905090810190601f1680156195835780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156195a457600080fd5b505af11580156195b8573d6000803e3d6000fd5b505050506040513d60208110156195ce57600080fd5b810190808051906020019092919050505090509392505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffe40d1d836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015619694578082015181840152602081019050619679565b50505050905090810190601f1680156196c15780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b1580156196de57600080fd5b505afa1580156196f2573d6000803e3d6000fd5b505050506040513d602081101561970857600080fd5b81019080805190602001909291905050509050919050565b801561986d57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635607395b84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156198035780820151818401526020810190506197e8565b50505050905090810190601f1680156198305780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561985057600080fd5b505af1158015619864573d6000803e3d6000fd5b505050506199b0565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359cbd6fe84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b8381101561994a57808201518184015260208101905061992f565b50505050905090810190601f1680156199775780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561999757600080fd5b505af11580156199ab573d6000803e3d6000fd5b505050505b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663abf5739f8484619a0086619bd0565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015619a73578082015181840152602081019050619a58565b50505050905090810190601f168015619aa05780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015619ad9578082015181840152602081019050619abe565b50505050905090810190601f168015619b065780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015619b3f578082015181840152602081019050619b24565b50505050905090810190601f168015619b6c5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b158015619b8d57600080fd5b505afa158015619ba1573d6000803e3d6000fd5b505050506040513d6020811015619bb757600080fd5b8101908080519060200190929190505050905092915050565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663177c8d8a836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015619c7c578082015181840152602081019050619c61565b50505050905090810190601f168015619ca95780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b158015619cc657600080fd5b505afa158015619cda573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015619d0457600080fd5b810190808051640100000000811115619d1c57600080fd5b82810190506020810184811115619d3257600080fd5b8151856001820283011164010000000082111715619d4f57600080fd5b50509291905050509050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10619d9f57803560ff1916838001178555619dcd565b82800160010185558215619dcd579182015b82811115619dcc578235825591602001919060010190619db1565b5b509050619dda9190619dde565b5090565b619e0091905b80821115619dfc576000816000905550600101619de4565b5090565b9056fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f77656463616e2062652063616c6c656420627920696e7465726661636520636f6e7472616374206f6e6c796163636f756e74206973206e6f742061206e6574776f726b2061646d696e206163636f756e746163636f756e74206973206e6f742061206f72672061646d696e206163636f756e74a165627a7a72305820a8c4472ddccb48f9fd45839d957a3318151a75030c35afcdea63ef479c9485e50029` // DeployPermImpl deploys a new Ethereum contract, binding an instance of PermImpl to it. func DeployPermImpl(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address, _orgManager common.Address, _rolesManager common.Address, _accountManager common.Address, _voterManager common.Address, _nodeManager common.Address) (common.Address, *types.Transaction, *PermImpl, error) { diff --git a/permission/bind/permission_interface.go b/permission/bind/permission_interface.go index 1e41a5bfe..c3559f760 100644 --- a/permission/bind/permission_interface.go +++ b/permission/bind/permission_interface.go @@ -31,7 +31,7 @@ var ( const PermInterfaceABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"getPermissionsImpl\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"approveAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminOrg\",\"type\":\"string\"},{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"}],\"name\":\"setPolicy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"}],\"name\":\"assignAccountRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"approveBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"addAdminNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_roleId\",\"type\":\"string\"}],\"name\":\"assignAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"updateNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_pOrgId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"addSubOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_acct\",\"type\":\"address\"}],\"name\":\"addAdminAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_permImplementation\",\"type\":\"address\"}],\"name\":\"setPermImplementation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_access\",\"type\":\"uint256\"},{\"name\":\"_voter\",\"type\":\"bool\"},{\"name\":\"_admin\",\"type\":\"bool\"}],\"name\":\"addNewRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"approveBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"approveOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"validateAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"approveOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateAccountStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"startBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"isOrgAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_breadth\",\"type\":\"uint256\"},{\"name\":\"_depth\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"removeRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"startBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"addNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"}],\"name\":\"updateOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isNetworkAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getPendingOp\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permImplUpgradeable\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" // PermInterfaceBin is the compiled bytecode used for deploying new contracts. -const PermInterfaceBin = `608060405234801561001057600080fd5b506040516020806127ff8339810180604052602081101561003057600080fd5b505160028054600160a060020a031916600160a060020a0390921691909117905561279f806100606000396000f3fe608060405234801561001057600080fd5b50600436106101d35760003560e060020a900480635adbfa7a116101085780639bd38101116100a6578063a97a440611610075578063a97a440614610f54578063bb3b6e8014611012578063d1aa0c2014611080578063f346a3a7146110a6576101d3565b80639bd3810114610d7e578063a5843f0814610dfc578063a634301214610e1f578063a97914bf14610edd576101d3565b80637e461258116100e25780637e46125814610ab557806384b7a84a14610b7c5780638cb58ef314610bf95780638f362a3e14610cb7576101d3565b80635adbfa7a1461090b5780635be9672c146109c95780636b568d7614610a37576101d3565b806343de646c116101755780634cff819e1161014f5780634cff819e146106e35780634fe57e7a146107f1578063511bbd9f1461081757806351f604c31461083d576101d3565b806343de646c146105f457806344478e79146106bf5780634cbfa82e146106db576101d3565b80631b610220116101b15780631b610220146103335780632f7f0a12146104415780633e239b231461050f5780633f25c28814610586576101d3565b806303ed6933146101d85780630cc50146146101fc57806316724c44146102bc575b600080fd5b6101e0611212565b60408051600160a060020a039092168252519081900360200190f35b6102ba6004803603606081101561021257600080fd5b810190602081018135602060020a81111561022c57600080fd5b82018360208201111561023e57600080fd5b803590602001918460018302840111602060020a8311171561025f57600080fd5b919390929091602081019035602060020a81111561027c57600080fd5b82018360208201111561028e57600080fd5b803590602001918460018302840111602060020a831117156102af57600080fd5b919350915035611221565b005b6102ba600480360360408110156102d257600080fd5b810190602081018135602060020a8111156102ec57600080fd5b8201836020820111156102fe57600080fd5b803590602001918460018302840111602060020a8311171561031f57600080fd5b919350915035600160a060020a0316611314565b6102ba6004803603606081101561034957600080fd5b810190602081018135602060020a81111561036357600080fd5b82018360208201111561037557600080fd5b803590602001918460018302840111602060020a8311171561039657600080fd5b919390929091602081019035602060020a8111156103b357600080fd5b8201836020820111156103c557600080fd5b803590602001918460018302840111602060020a831117156103e657600080fd5b919390929091602081019035602060020a81111561040357600080fd5b82018360208201111561041557600080fd5b803590602001918460018302840111602060020a8311171561043657600080fd5b5090925090506113d9565b6102ba6004803603606081101561045757600080fd5b600160a060020a038235169190810190604081016020820135602060020a81111561048157600080fd5b82018360208201111561049357600080fd5b803590602001918460018302840111602060020a831117156104b457600080fd5b919390929091602081019035602060020a8111156104d157600080fd5b8201836020820111156104e357600080fd5b803590602001918460018302840111602060020a8311171561050457600080fd5b5090925090506114e7565b6102ba6004803603604081101561052557600080fd5b810190602081018135602060020a81111561053f57600080fd5b82018360208201111561055157600080fd5b803590602001918460018302840111602060020a8311171561057257600080fd5b919350915035600160a060020a03166115bf565b6102ba6004803603602081101561059c57600080fd5b810190602081018135602060020a8111156105b657600080fd5b8201836020820111156105c857600080fd5b803590602001918460018302840111602060020a831117156105e957600080fd5b509092509050611667565b6102ba6004803603606081101561060a57600080fd5b810190602081018135602060020a81111561062457600080fd5b82018360208201111561063657600080fd5b803590602001918460018302840111602060020a8311171561065757600080fd5b91939092600160a060020a0383351692604081019060200135602060020a81111561068157600080fd5b82018360208201111561069357600080fd5b803590602001918460018302840111602060020a831117156106b457600080fd5b509092509050611713565b6106c76117e8565b604080519115158252519081900360200190f35b6106c761186d565b6102ba600480360360608110156106f957600080fd5b810190602081018135602060020a81111561071357600080fd5b82018360208201111561072557600080fd5b803590602001918460018302840111602060020a8311171561074657600080fd5b919390929091602081019035602060020a81111561076357600080fd5b82018360208201111561077557600080fd5b803590602001918460018302840111602060020a8311171561079657600080fd5b919390929091602081019035602060020a8111156107b357600080fd5b8201836020820111156107c557600080fd5b803590602001918460018302840111602060020a831117156107e657600080fd5b5090925090506118d3565b6102ba6004803603602081101561080757600080fd5b5035600160a060020a03166119ca565b6102ba6004803603602081101561082d57600080fd5b5035600160a060020a0316611a49565b6102ba600480360360a081101561085357600080fd5b810190602081018135602060020a81111561086d57600080fd5b82018360208201111561087f57600080fd5b803590602001918460018302840111602060020a831117156108a057600080fd5b919390929091602081019035602060020a8111156108bd57600080fd5b8201836020820111156108cf57600080fd5b803590602001918460018302840111602060020a831117156108f057600080fd5b91935091508035906020810135151590604001351515611af1565b6102ba6004803603604081101561092157600080fd5b810190602081018135602060020a81111561093b57600080fd5b82018360208201111561094d57600080fd5b803590602001918460018302840111602060020a8311171561096e57600080fd5b919390929091602081019035602060020a81111561098b57600080fd5b82018360208201111561099d57600080fd5b803590602001918460018302840111602060020a831117156109be57600080fd5b509092509050611bfc565b6102ba600480360360408110156109df57600080fd5b810190602081018135602060020a8111156109f957600080fd5b820183602082011115610a0b57600080fd5b803590602001918460018302840111602060020a83111715610a2c57600080fd5b919350915035611ce4565b6106c760048036036040811015610a4d57600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610a7757600080fd5b820183602082011115610a8957600080fd5b803590602001918460018302840111602060020a83111715610aaa57600080fd5b509092509050611d87565b6102ba60048036036060811015610acb57600080fd5b810190602081018135602060020a811115610ae557600080fd5b820183602082011115610af757600080fd5b803590602001918460018302840111602060020a83111715610b1857600080fd5b919390929091602081019035602060020a811115610b3557600080fd5b820183602082011115610b4757600080fd5b803590602001918460018302840111602060020a83111715610b6857600080fd5b919350915035600160a060020a0316611e55565b6102ba60048036036060811015610b9257600080fd5b810190602081018135602060020a811115610bac57600080fd5b820183602082011115610bbe57600080fd5b803590602001918460018302840111602060020a83111715610bdf57600080fd5b9193509150600160a060020a038135169060200135611f2a565b6102ba60048036036040811015610c0f57600080fd5b810190602081018135602060020a811115610c2957600080fd5b820183602082011115610c3b57600080fd5b803590602001918460018302840111602060020a83111715610c5c57600080fd5b919390929091602081019035602060020a811115610c7957600080fd5b820183602082011115610c8b57600080fd5b803590602001918460018302840111602060020a83111715610cac57600080fd5b509092509050611fda565b6102ba60048036036060811015610ccd57600080fd5b810190602081018135602060020a811115610ce757600080fd5b820183602082011115610cf957600080fd5b803590602001918460018302840111602060020a83111715610d1a57600080fd5b919390929091602081019035602060020a811115610d3757600080fd5b820183602082011115610d4957600080fd5b803590602001918460018302840111602060020a83111715610d6a57600080fd5b919350915035600160a060020a03166120a4565b6106c760048036036040811015610d9457600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610dbe57600080fd5b820183602082011115610dd057600080fd5b803590602001918460018302840111602060020a83111715610df157600080fd5b509092509050612179565b6102ba60048036036040811015610e1257600080fd5b5080359060200135612213565b6102ba60048036036040811015610e3557600080fd5b810190602081018135602060020a811115610e4f57600080fd5b820183602082011115610e6157600080fd5b803590602001918460018302840111602060020a83111715610e8257600080fd5b919390929091602081019035602060020a811115610e9f57600080fd5b820183602082011115610eb157600080fd5b803590602001918460018302840111602060020a83111715610ed257600080fd5b50909250905061227b565b6102ba60048036036040811015610ef357600080fd5b810190602081018135602060020a811115610f0d57600080fd5b820183602082011115610f1f57600080fd5b803590602001918460018302840111602060020a83111715610f4057600080fd5b919350915035600160a060020a0316612345565b6102ba60048036036040811015610f6a57600080fd5b810190602081018135602060020a811115610f8457600080fd5b820183602082011115610f9657600080fd5b803590602001918460018302840111602060020a83111715610fb757600080fd5b919390929091602081019035602060020a811115610fd457600080fd5b820183602082011115610fe657600080fd5b803590602001918460018302840111602060020a8311171561100757600080fd5b5090925090506123ed565b6102ba6004803603604081101561102857600080fd5b810190602081018135602060020a81111561104257600080fd5b82018360208201111561105457600080fd5b803590602001918460018302840111602060020a8311171561107557600080fd5b9193509150356124b7565b6106c76004803603602081101561109657600080fd5b5035600160a060020a031661255a565b611114600480360360208110156110bc57600080fd5b810190602081018135602060020a8111156110d657600080fd5b8201836020820111156110e857600080fd5b803590602001918460018302840111602060020a8311171561110957600080fd5b5090925090506125f3565b60405180806020018060200185600160a060020a0316600160a060020a03168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561117357818101518382015260200161115b565b50505050905090810190601f1680156111a05780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b838110156111d35781810151838201526020016111bb565b50505050905090810190601f1680156112005780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b600054600160a060020a031690565b6000546040517fdbfad71100000000000000000000000000000000000000000000000000000000815260448101839052336064820181905260806004830190815260848301889052600160a060020a039093169263dbfad711928992899289928992899290918190602481019060a401898980828437600083820152601f01601f191690910184810383528781526020019050878780828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b505af1158015611309573d6000803e3d6000fd5b505050505050505050565b6000546040517f88843041000000000000000000000000000000000000000000000000000000008152600160a060020a03838116602483015233604483018190526060600484019081526064840187905291909316926388843041928792879287929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b505af11580156113d0573d6000803e3d6000fd5b50505050505050565b6000546040517f1b61022000000000000000000000000000000000000000000000000000000000815260606004820190815260648201889052600160a060020a0390921691631b610220918991899189918991899189918190602481019060448101906084018a8a80828437600083820152601f01601f191690910185810384528881526020019050888880828437600083820152601f01601f191690910185810383528681526020019050868680828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b1580156114c757600080fd5b505af11580156114db573d6000803e3d6000fd5b50505050505050505050565b6000546040517f8baa8191000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081523360648401819052608060248501908152608485018990529290941693638baa8191938a938a938a938a938a9391929190604481019060a401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b6000546040517f4b20f45f000000000000000000000000000000000000000000000000000000008152600160a060020a0383811660248301523360448301819052606060048401908152606484018790529190931692634b20f45f928792879287929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b6000546040517f3f25c28800000000000000000000000000000000000000000000000000000000815260206004820190815260248201849052600160a060020a0390921691633f25c28891859185918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505050565b6000546040517f404bf3eb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166024830152336064830181905260806004840190815260848401899052919093169263404bf3eb9289928992899289928992918190604481019060a401898980828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b60008060009054906101000a9004600160a060020a0316600160a060020a03166344478e796040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561183c57600080fd5b505af1158015611850573d6000803e3d6000fd5b505050506040513d602081101561186657600080fd5b5051905090565b60008060009054906101000a9004600160a060020a0316600160a060020a0316634cbfa82e6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156118bf57600080fd5b505afa158015611850573d6000803e3d6000fd5b6000546040517fa64d2860000000000000000000000000000000000000000000000000000000008152336064820181905260806004830190815260848301899052600160a060020a039093169263a64d2860928a928a928a928a928a928a9281906024810190604481019060a4018b8b80828437600083820152601f01601f191690910185810384528981526020019050898980828437600083820152601f01601f191690910185810383528781526020019050878780828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b1580156114c757600080fd5b60008054604080517f4fe57e7a000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015291519190921692634fe57e7a926024808201939182900301818387803b158015611a2e57600080fd5b505af1158015611a42573d6000803e3d6000fd5b5050505050565b600254600160a060020a03163314611ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000546040517f1b04c27600000000000000000000000000000000000000000000000000000000815260448101859052831515606482015282151560848201523360a4820181905260c06004830190815260c483018a9052600160a060020a0390931692631b04c276928b928b928b928b928b928b928b9291908190602481019060e4018b8b80828437600083820152601f01601f191690910184810383528981526020019050898980828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015611bdb57600080fd5b505af1158015611bef573d6000803e3d6000fd5b5050505050505050505050565b6000546040517f655a8ef5000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a039093169263655a8ef5928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b505af1158015611cda573d6000803e3d6000fd5b5050505050505050565b6000546040517fb554656400000000000000000000000000000000000000000000000000000000815260248101839052336044820181905260606004830190815260648301869052600160a060020a039093169263b5546564928792879287928190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b60008054604080517f6b568d76000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081526024830193845260448301879052931692636b568d76928892889288929091606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b158015611e2157600080fd5b505afa158015611e35573d6000803e3d6000fd5b505050506040513d6020811015611e4b57600080fd5b5051949350505050565b6000546040517f3bc07dea000000000000000000000000000000000000000000000000000000008152600160a060020a0383811660448301523360648301819052608060048401908152608484018990529190931692633bc07dea9289928992899289928992918190602481019060a401898980828437600083820152601f01601f191690910184810383528781526020019050878780828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b6000546040517f04e81f1e000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660248301526044820184905233606483018190526080600484019081526084840188905291909316926304e81f1e92889288928892889290819060a401878780828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517fc3dc8e09000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a039093169263c3dc8e09928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517ff922f802000000000000000000000000000000000000000000000000000000008152600160a060020a038381166044830152336064830181905260806004840190815260848401899052919093169263f922f8029289928992899289928992918190602481019060a401898980828437600083820152601f01601f191690910184810383528781526020019050878780828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b60008054604080517f9bd38101000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081526024830193845260448301879052931692639bd38101928892889288929091606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b158015611e2157600080fd5b60008054604080517fa5843f0800000000000000000000000000000000000000000000000000000000815260048101869052602481018590529051600160a060020a039092169263a5843f089260448084019382900301818387803b1580156116f757600080fd5b6000546040517f5ca5adbe000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a0390931692635ca5adbe928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517f1c249912000000000000000000000000000000000000000000000000000000008152600160a060020a0383811660248301523360448301819052606060048401908152606484018790529190931692631c249912928792879287929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b6000546040517f59a260a3000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a03909316926359a260a3928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517f3cf5f33b00000000000000000000000000000000000000000000000000000000815260248101839052336044820181905260606004830190815260648301869052600160a060020a0390931692633cf5f33b928792879287928190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b60008054604080517fd1aa0c20000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301529151919092169163d1aa0c20916024808301926020929190829003018186803b1580156125c157600080fd5b505afa1580156125d5573d6000803e3d6000fd5b505050506040513d60208110156125eb57600080fd5b505192915050565b600080546040517ff346a3a700000000000000000000000000000000000000000000000000000000815260206004820190815260248201859052606093849390928392600160a060020a039092169163f346a3a791899189918190604401848480828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561268b57600080fd5b505afa15801561269f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156126c857600080fd5b810190808051602060020a8111156126df57600080fd5b820160208101848111156126f257600080fd5b8151602060020a81118282018710171561270b57600080fd5b50509291906020018051602060020a81111561272657600080fd5b8201602081018481111561273957600080fd5b8151602060020a81118282018710171561275257600080fd5b50506020820151604090920151949b909a509098509296509194505050505056fea165627a7a72305820a6bfbf7d9db24545f293df15653826e93d3e0be5bb868650b5a2ce0f1f9221290029` +const PermInterfaceBin = `608060405234801561001057600080fd5b506040516020806138138339810180604052602081101561003057600080fd5b810190808051906020019092919050505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613781806100926000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c0100000000000000000000000000000000000000000000000000000000900480635adbfa7a116101215780639bd38101116100bf578063a97a44061161008e578063a97a44061461123b578063bb3b6e8014611309578063d1aa0c201461138c578063f346a3a7146113e8576101ec565b80639bd3810114610feb578063a5843f081461109c578063a6343012146110d4578063a97914bf146111a2576101ec565b80637e461258116100fb5780637e46125814610c9e57806384b7a84a14610d8c5780638cb58ef314610e2f5780638f362a3e14610efd576101ec565b80635adbfa7a14610a9c5780635be9672c14610b6a5780636b568d7614610bed576101ec565b806343de646c1161018e5780634cff819e116101685780634cff819e146108015780634fe57e7a14610924578063511bbd9f1461096857806351f604c3146109ac576101ec565b806343de646c146106cf57806344478e79146107bd5780634cbfa82e146107df576101ec565b80631b610220116101ca5780631b610220146103ac5780632f7f0a12146104cf5780633e239b23146105bd5780633f25c28814610656576101ec565b806303ed6933146101f15780630cc501461461023b57806316724c4414610313575b600080fd5b6101f9611580565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603606081101561025157600080fd5b810190808035906020019064010000000081111561026e57600080fd5b82018360208201111561028057600080fd5b803590602001918460018302840111640100000000831117156102a257600080fd5b9091929391929390803590602001906401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b9091929391929390803590602001909291905050506115a9565b005b6103aa6004803603604081101561032957600080fd5b810190808035906020019064010000000081111561034657600080fd5b82018360208201111561035857600080fd5b8035906020019184600183028401116401000000008311171561037a57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116f4565b005b6104cd600480360360608110156103c257600080fd5b81019080803590602001906401000000008111156103df57600080fd5b8201836020820111156103f157600080fd5b8035906020019184600183028401116401000000008311171561041357600080fd5b90919293919293908035906020019064010000000081111561043457600080fd5b82018360208201111561044657600080fd5b8035906020019184600183028401116401000000008311171561046857600080fd5b90919293919293908035906020019064010000000081111561048957600080fd5b82018360208201111561049b57600080fd5b803590602001918460018302840111640100000000831117156104bd57600080fd5b9091929391929390505050611835565b005b6105bb600480360360608110156104e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561052257600080fd5b82018360208201111561053457600080fd5b8035906020019184600183028401116401000000008311171561055657600080fd5b90919293919293908035906020019064010000000081111561057757600080fd5b82018360208201111561058957600080fd5b803590602001918460018302840111640100000000831117156105ab57600080fd5b9091929391929390505050611979565b005b610654600480360360408110156105d357600080fd5b81019080803590602001906401000000008111156105f057600080fd5b82018360208201111561060257600080fd5b8035906020019184600183028401116401000000008311171561062457600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611af0565b005b6106cd6004803603602081101561066c57600080fd5b810190808035906020019064010000000081111561068957600080fd5b82018360208201111561069b57600080fd5b803590602001918460018302840111640100000000831117156106bd57600080fd5b9091929391929390505050611c31565b005b6107bb600480360360608110156106e557600080fd5b810190808035906020019064010000000081111561070257600080fd5b82018360208201111561071457600080fd5b8035906020019184600183028401116401000000008311171561073657600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561077757600080fd5b82018360208201111561078957600080fd5b803590602001918460018302840111640100000000831117156107ab57600080fd5b9091929391929390505050611d09565b005b6107c5611e80565b604051808215151515815260200191505060405180910390f35b6107e7611f47565b604051808215151515815260200191505060405180910390f35b6109226004803603606081101561081757600080fd5b810190808035906020019064010000000081111561083457600080fd5b82018360208201111561084657600080fd5b8035906020019184600183028401116401000000008311171561086857600080fd5b90919293919293908035906020019064010000000081111561088957600080fd5b82018360208201111561089b57600080fd5b803590602001918460018302840111640100000000831117156108bd57600080fd5b9091929391929390803590602001906401000000008111156108de57600080fd5b8201836020820111156108f057600080fd5b8035906020019184600183028401116401000000008311171561091257600080fd5b909192939192939050505061200c565b005b6109666004803603602081101561093a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612184565b005b6109aa6004803603602081101561097e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061225b565b005b610a9a600480360360a08110156109c257600080fd5b81019080803590602001906401000000008111156109df57600080fd5b8201836020820111156109f157600080fd5b80359060200191846001830284011164010000000083111715610a1357600080fd5b909192939192939080359060200190640100000000811115610a3457600080fd5b820183602082011115610a4657600080fd5b80359060200191846001830284011164010000000083111715610a6857600080fd5b909192939192939080359060200190929190803515159060200190929190803515159060200190929190505050612363565b005b610b6860048036036040811015610ab257600080fd5b8101908080359060200190640100000000811115610acf57600080fd5b820183602082011115610ae157600080fd5b80359060200191846001830284011164010000000083111715610b0357600080fd5b909192939192939080359060200190640100000000811115610b2457600080fd5b820183602082011115610b3657600080fd5b80359060200191846001830284011164010000000083111715610b5857600080fd5b90919293919293905050506124c8565b005b610beb60048036036040811015610b8057600080fd5b8101908080359060200190640100000000811115610b9d57600080fd5b820183602082011115610baf57600080fd5b80359060200191846001830284011164010000000083111715610bd157600080fd5b90919293919293908035906020019092919050505061260a565b005b610c8460048036036040811015610c0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610c4057600080fd5b820183602082011115610c5257600080fd5b80359060200191846001830284011164010000000083111715610c7457600080fd5b909192939192939050505061271f565b604051808215151515815260200191505060405180910390f35b610d8a60048036036060811015610cb457600080fd5b8101908080359060200190640100000000811115610cd157600080fd5b820183602082011115610ce357600080fd5b80359060200191846001830284011164010000000083111715610d0557600080fd5b909192939192939080359060200190640100000000811115610d2657600080fd5b820183602082011115610d3857600080fd5b80359060200191846001830284011164010000000083111715610d5a57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612853565b005b610e2d60048036036060811015610da257600080fd5b8101908080359060200190640100000000811115610dbf57600080fd5b820183602082011115610dd157600080fd5b80359060200191846001830284011164010000000083111715610df357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506129ca565b005b610efb60048036036040811015610e4557600080fd5b8101908080359060200190640100000000811115610e6257600080fd5b820183602082011115610e7457600080fd5b80359060200191846001830284011164010000000083111715610e9657600080fd5b909192939192939080359060200190640100000000811115610eb757600080fd5b820183602082011115610ec957600080fd5b80359060200191846001830284011164010000000083111715610eeb57600080fd5b9091929391929390505050612b14565b005b610fe960048036036060811015610f1357600080fd5b8101908080359060200190640100000000811115610f3057600080fd5b820183602082011115610f4257600080fd5b80359060200191846001830284011164010000000083111715610f6457600080fd5b909192939192939080359060200190640100000000811115610f8557600080fd5b820183602082011115610f9757600080fd5b80359060200191846001830284011164010000000083111715610fb957600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c56565b005b6110826004803603604081101561100157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561103e57600080fd5b82018360208201111561105057600080fd5b8035906020019184600183028401116401000000008311171561107257600080fd5b9091929391929390505050612dcd565b604051808215151515815260200191505060405180910390f35b6110d2600480360360408110156110b257600080fd5b810190808035906020019092919080359060200190929190505050612f01565b005b6111a0600480360360408110156110ea57600080fd5b810190808035906020019064010000000081111561110757600080fd5b82018360208201111561111957600080fd5b8035906020019184600183028401116401000000008311171561113b57600080fd5b90919293919293908035906020019064010000000081111561115c57600080fd5b82018360208201111561116e57600080fd5b8035906020019184600183028401116401000000008311171561119057600080fd5b9091929391929390505050612fb5565b005b611239600480360360408110156111b857600080fd5b81019080803590602001906401000000008111156111d557600080fd5b8201836020820111156111e757600080fd5b8035906020019184600183028401116401000000008311171561120957600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130f7565b005b6113076004803603604081101561125157600080fd5b810190808035906020019064010000000081111561126e57600080fd5b82018360208201111561128057600080fd5b803590602001918460018302840111640100000000831117156112a257600080fd5b9091929391929390803590602001906401000000008111156112c357600080fd5b8201836020820111156112d557600080fd5b803590602001918460018302840111640100000000831117156112f757600080fd5b9091929391929390505050613238565b005b61138a6004803603604081101561131f57600080fd5b810190808035906020019064010000000081111561133c57600080fd5b82018360208201111561134e57600080fd5b8035906020019184600183028401116401000000008311171561137057600080fd5b90919293919293908035906020019092919050505061337a565b005b6113ce600480360360208110156113a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061348f565b604051808215151515815260200191505060405180910390f35b61145f600480360360208110156113fe57600080fd5b810190808035906020019064010000000081111561141b57600080fd5b82018360208201111561142d57600080fd5b8035906020019184600183028401116401000000008311171561144f57600080fd5b909192939192939050505061358d565b6040518080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156114db5780820151818401526020810190506114c0565b50505050905090810190601f1680156115085780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b83811015611541578082015181840152602081019050611526565b50505050905090810190601f16801561156e5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dbfad7118686868686336040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252878782818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156116d557600080fd5b505af11580156116e9573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166388843041848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561181857600080fd5b505af115801561182c573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b6102208787878787876040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018060200184810384528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508481038252868682818152602001925080828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b15801561195957600080fd5b505af115801561196d573d6000803e3d6000fd5b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638baa81918686868686336040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015611ad157600080fd5b505af1158015611ae5573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b20f45f848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611c1457600080fd5b505af1158015611c28573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f25c28883836040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663404bf3eb8686868686336040518763ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015611e6157600080fd5b505af1158015611e75573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344478e796040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f0757600080fd5b505af1158015611f1b573d6000803e3d6000fd5b505050506040513d6020811015611f3157600080fd5b8101908080519060200190929190505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634cbfa82e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611fcc57600080fd5b505afa158015611fe0573d6000803e3d6000fd5b505050506040513d6020811015611ff657600080fd5b8101908080519060200190929190505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a64d2860878787878787336040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184810384528b8b82818152602001925080828437600081840152601f19601f8201169050808301925050508481038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508481038252878782818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561216457600080fd5b505af1158015612178573d6000803e3d6000fd5b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634fe57e7a826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561224057600080fd5b505af1158015612254573d6000803e3d6000fd5b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b04c27688888888888888336040518963ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200187815260200186151515158152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183810383528b8b82818152602001925080828437600081840152601f19601f8201169050808301925050508381038252898982818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b1580156124a757600080fd5b505af11580156124bb573d6000803e3d6000fd5b5050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663655a8ef585858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b1580156125ec57600080fd5b505af1158015612600573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5546564848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561270257600080fd5b505af1158015612716573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636b568d768585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060206040518083038186803b15801561280f57600080fd5b505afa158015612823573d6000803e3d6000fd5b505050506040513d602081101561283957600080fd5b810190808051906020019092919050505090509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633bc07dea8686868686336040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252878782818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156129ab57600080fd5b505af11580156129bf573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166304e81f1e85858585336040518663ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612af657600080fd5b505af1158015612b0a573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3dc8e0985858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015612c3857600080fd5b505af1158015612c4c573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f922f8028686868686336040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252878782818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612dae57600080fd5b505af1158015612dc2573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639bd381018585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060206040518083038186803b158015612ebd57600080fd5b505afa158015612ed1573d6000803e3d6000fd5b505050506040513d6020811015612ee757600080fd5b810190808051906020019092919050505090509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a5843f0883836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050600060405180830381600087803b158015612f9957600080fd5b505af1158015612fad573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ca5adbe85858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b1580156130d957600080fd5b505af11580156130ed573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c249912848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561321b57600080fd5b505af115801561322f573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359a260a385858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561335c57600080fd5b505af1158015613370573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633cf5f33b848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561347257600080fd5b505af1158015613486573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d1aa0c20836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561354b57600080fd5b505afa15801561355f573d6000803e3d6000fd5b505050506040513d602081101561357557600080fd5b81019080805190602001909291905050509050919050565b6060806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f346a3a787876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561364d57600080fd5b505afa158015613661573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250608081101561368b57600080fd5b8101908080516401000000008111156136a357600080fd5b828101905060208101848111156136b957600080fd5b81518560018202830111640100000000821117156136d657600080fd5b505092919060200180516401000000008111156136f257600080fd5b8281019050602081018481111561370857600080fd5b815185600182028301116401000000008211171561372557600080fd5b5050929190602001805190602001909291908051906020019092919050505093509350935093509295919450925056fea165627a7a723058202050a6b30d498b1ad9474798e28e302308a03931a8e3374b3dd26ac7e19d6acf0029` // DeployPermInterface deploys a new Ethereum contract, binding an instance of PermInterface to it. func DeployPermInterface(auth *bind.TransactOpts, backend bind.ContractBackend, _permImplUpgradeable common.Address) (common.Address, *types.Transaction, *PermInterface, error) { diff --git a/permission/bind/permission_upgr.go b/permission/bind/permission_upgr.go index b768b2440..605644e28 100644 --- a/permission/bind/permission_upgr.go +++ b/permission/bind/permission_upgr.go @@ -31,7 +31,7 @@ var ( const PermUpgrABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"getPermImpl\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposedImpl\",\"type\":\"address\"}],\"name\":\"confirmImplChange\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getGuardian\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPermInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_permInterface\",\"type\":\"address\"},{\"name\":\"_permImpl\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_guardian\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" // PermUpgrBin is the compiled bytecode used for deploying new contracts. -const PermUpgrBin = `608060405234801561001057600080fd5b5060405160208061079f8339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a03199092169190911790556002805460a060020a60ff021916905561072d806100726000396000f3fe608060405234801561001057600080fd5b506004361061005a5760e060020a60003504630e32cf90811461005f57806322bcb39a14610083578063a75b87d2146100ab578063e572515c146100b3578063f09a4016146100bb575b600080fd5b6100676100e9565b60408051600160a060020a039092168252519081900360200190f35b6100a96004803603602081101561009957600080fd5b5035600160a060020a03166100f8565b005b610067610341565b610067610350565b6100a9600480360360408110156100d157600080fd5b50600160a060020a038135811691602001351661035f565b600154600160a060020a031690565b600054600160a060020a0316331461017157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b60608060606000600160009054906101000a9004600160a060020a0316600160a060020a031663cc9ba6fa6040518163ffffffff1660e060020a02815260040160006040518083038186803b1580156101c957600080fd5b505afa1580156101dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561020657600080fd5b81019080805164010000000081111561021e57600080fd5b8201602081018481111561023157600080fd5b815164010000000081118282018710171561024b57600080fd5b5050929190602001805164010000000081111561026757600080fd5b8201602081018481111561027a57600080fd5b815164010000000081118282018710171561029457600080fd5b505092919060200180516401000000008111156102b057600080fd5b820160208101848111156102c357600080fd5b81516401000000008111828201871017156102dd57600080fd5b50506020909101519498509296509194509192506103029150869050858585856104e2565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03878116919091179182905561033a9116610686565b5050505050565b600054600160a060020a031690565b600254600160a060020a031690565b600054600160a060020a031633146103d857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b60025474010000000000000000000000000000000000000000900460ff161561046257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f63616e206265206578656375746564206f6e6c79206f6e636500000000000000604482015290519081900360640190fd5b60018054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff199283161792839055600280548683169316929092179091556104a99116610686565b50506002805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b84600160a060020a031663f5ad584a858585856040518563ffffffff1660e060020a0281526004018080602001806020018060200185151515158152602001848103845288818151815260200191508051906020019080838360005b8381101561055657818101518382015260200161053e565b50505050905090810190601f1680156105835780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b838110156105b657818101518382015260200161059e565b50505050905090810190601f1680156105e35780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b838110156106165781810151838201526020016105fe565b50505050905090810190601f1680156106435780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561066757600080fd5b505af115801561067b573d6000803e3d6000fd5b505050505050505050565b600254604080517f511bbd9f000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151919092169163511bbd9f91602480830192600092919082900301818387803b1580156106ed57600080fd5b505af115801561033a573d6000803e3d6000fdfea165627a7a7230582051e3d1c0377443aca16ebe499d6aa52fd49e5c99a7b5500043edb00980c01b1b0029` +const PermUpgrBin = `608060405234801561001057600080fd5b50604051602080610b2d8339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260146101000a81548160ff02191690831515021790555050610a81806100ac6000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c0100000000000000000000000000000000000000000000000000000000900480630e32cf901461007957806322bcb39a146100c3578063a75b87d214610107578063e572515c14610151578063f09a40161461019b575b600080fd5b6100816101ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610105600480360360208110156100d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610229565b005b61010f61053c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610159610565565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101fd600480360360408110156101b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061058f565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60608060606000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc9ba6fa6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160006040518083038186803b15801561037857600080fd5b505afa15801561038c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060808110156103b657600080fd5b8101908080516401000000008111156103ce57600080fd5b828101905060208101848111156103e457600080fd5b815185600182028301116401000000008211171561040157600080fd5b5050929190602001805164010000000081111561041d57600080fd5b8281019050602081018481111561043357600080fd5b815185600182028301116401000000008211171561045057600080fd5b5050929190602001805164010000000081111561046c57600080fd5b8281019050602081018481111561048257600080fd5b815185600182028301116401000000008211171561049f57600080fd5b50509291906020018051906020019092919050505093509350935093506104c985858585856107a4565b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610535600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661097d565b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600260149054906101000a900460ff161515156106d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616e206265206578656375746564206f6e6c79206f6e63650000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610785600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661097d565b6001600260146101000a81548160ff0219169083151502179055505050565b8473ffffffffffffffffffffffffffffffffffffffff1663f5ad584a858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018060200185151515158152602001848103845288818151815260200191508051906020019080838360005b83811015610841578082015181840152602081019050610826565b50505050905090810190601f16801561086e5780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b838110156108a757808201518184015260208101905061088c565b50505050905090810190601f1680156108d45780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b8381101561090d5780820151818401526020810190506108f2565b50505050905090810190601f16801561093a5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561095e57600080fd5b505af1158015610972573d6000803e3d6000fd5b505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663511bbd9f826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610a3a57600080fd5b505af1158015610a4e573d6000803e3d6000fd5b505050505056fea165627a7a72305820a69be38949309cbde1b8d82ce4b123302bc26f41a0a3d4ffea64bc54d30d059d0029` // DeployPermUpgr deploys a new Ethereum contract, binding an instance of PermUpgr to it. func DeployPermUpgr(auth *bind.TransactOpts, backend bind.ContractBackend, _guardian common.Address) (common.Address, *types.Transaction, *PermUpgr, error) { diff --git a/permission/bind/roles.go b/permission/bind/roles.go index e20a3a17b..4c772b54d 100644 --- a/permission/bind/roles.go +++ b/permission/bind/roles.go @@ -31,7 +31,7 @@ var ( const RoleManagerABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getRoleDetails\",\"outputs\":[{\"name\":\"roleId\",\"type\":\"string\"},{\"name\":\"orgId\",\"type\":\"string\"},{\"name\":\"accessType\",\"type\":\"uint256\"},{\"name\":\"voter\",\"type\":\"bool\"},{\"name\":\"admin\",\"type\":\"bool\"},{\"name\":\"active\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_baseAccess\",\"type\":\"uint256\"},{\"name\":\"_isVoter\",\"type\":\"bool\"},{\"name\":\"_isAdmin\",\"type\":\"bool\"}],\"name\":\"addRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumberOfRoles\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_rIndex\",\"type\":\"uint256\"}],\"name\":\"getRoleDetailsFromIndex\",\"outputs\":[{\"name\":\"roleId\",\"type\":\"string\"},{\"name\":\"orgId\",\"type\":\"string\"},{\"name\":\"accessType\",\"type\":\"uint256\"},{\"name\":\"voter\",\"type\":\"bool\"},{\"name\":\"admin\",\"type\":\"bool\"},{\"name\":\"active\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"removeRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"roleExists\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"isAdminRole\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_ultParent\",\"type\":\"string\"}],\"name\":\"isVoterRole\",\"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\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_baseAccess\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_isVoter\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"_isAdmin\",\"type\":\"bool\"}],\"name\":\"RoleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_roleId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"}]" // RoleManagerBin is the compiled bytecode used for deploying new contracts. -const RoleManagerBin = `608060405234801561001057600080fd5b5060405160208061221f8339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a03199092169190911790556121bd806100626000396000f3fe608060405234801561001057600080fd5b506004361061008c5760003560e060020a90048063a63430121161005f578063a6343012146103c6578063abf5739f14610488578063be322e5414610650578063deb16ba7146107645761008c565b80631870aba3146100915780637b7135791461025157806387f55d311461038f578063a451d4a8146103a9575b600080fd5b610153600480360360408110156100a757600080fd5b8101906020810181356401000000008111156100c257600080fd5b8201836020820111156100d457600080fd5b803590602001918460018302840111640100000000831117156100f657600080fd5b91939092909160208101903564010000000081111561011457600080fd5b82018360208201111561012657600080fd5b8035906020019184600183028401116401000000008311171561014857600080fd5b509092509050610878565b604080519081018590528315156060820152821515608082015281151560a082015260c08082528751908201528651819060208083019160e08401918b019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b5083810382528851815288516020918201918a019080838360005b838110156102105781810151838201526020016101f8565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b61038d600480360360a081101561026757600080fd5b81019060208101813564010000000081111561028257600080fd5b82018360208201111561029457600080fd5b803590602001918460018302840111640100000000831117156102b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561030957600080fd5b82018360208201111561031b57600080fd5b8035906020019184600183028401116401000000008311171561033d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135151590604001351515610bfe565b005b610397611149565b60408051918252519081900360200190f35b610153600480360360208110156103bf57600080fd5b5035611150565b61038d600480360360408110156103dc57600080fd5b8101906020810181356401000000008111156103f757600080fd5b82018360208201111561040957600080fd5b8035906020019184600183028401116401000000008311171561042b57600080fd5b91939092909160208101903564010000000081111561044957600080fd5b82018360208201111561045b57600080fd5b8035906020019184600183028401116401000000008311171561047d57600080fd5b50909250905061136e565b61063c6004803603606081101561049e57600080fd5b8101906020810181356401000000008111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460018302840111640100000000831117156104ed57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561054057600080fd5b82018360208201111561055257600080fd5b8035906020019184600183028401116401000000008311171561057457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156105c757600080fd5b8201836020820111156105d957600080fd5b803590602001918460018302840111640100000000831117156105fb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611666945050505050565b604080519115158252519081900360200190f35b61063c6004803603606081101561066657600080fd5b81019060208101813564010000000081111561068157600080fd5b82018360208201111561069357600080fd5b803590602001918460018302840111640100000000831117156106b557600080fd5b9193909290916020810190356401000000008111156106d357600080fd5b8201836020820111156106e557600080fd5b8035906020019184600183028401116401000000008311171561070757600080fd5b91939092909160208101903564010000000081111561072557600080fd5b82018360208201111561073757600080fd5b8035906020019184600183028401116401000000008311171561075957600080fd5b5090925090506118da565b61063c6004803603606081101561077a57600080fd5b81019060208101813564010000000081111561079557600080fd5b8201836020820111156107a757600080fd5b803590602001918460018302840111640100000000831117156107c957600080fd5b9193909290916020810190356401000000008111156107e757600080fd5b8201836020820111156107f957600080fd5b8035906020019184600183028401116401000000008311171561081b57600080fd5b91939092909160208101903564010000000081111561083957600080fd5b82018360208201111561084b57600080fd5b8035906020019184600183028401116401000000008311171561086d57600080fd5b509092509050611c57565b6060806000806000806109028a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092018290525060408051602081019091529081529250611666915050565b151561096c57898960008060008085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805160208101909152908152939f50929d50959b509399509197509550610bf1945050505050565b60006109e18b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250611fc992505050565b90506001818154811015156109f257fe5b9060005260206000209060040201600001600182815481101515610a1257fe5b9060005260206000209060040201600101600183815481101515610a3257fe5b906000526020600020906004020160020154600184815481101515610a5357fe5b60009182526020909120600360049092020101546001805460ff9092169186908110610a7b57fe5b906000526020600020906004020160030160019054906101000a900460ff16600186815481101515610aa957fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff169290918891830182828015610b4e5780601f10610b2357610100808354040283529160200191610b4e565b820191906000526020600020905b815481529060010190602001808311610b3157829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a945092508401905082828015610bdc5780601f10610bb157610100808354040283529160200191610bdc565b820191906000526020600020905b815481529060010190602001808311610bbf57829003601f168201915b50505050509450965096509650965096509650505b9499939850945094509450565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610c4e57600080fd5b505afa158015610c62573d6000803e3d6000fd5b505050506040513d6020811015610c7857600080fd5b5051600160a060020a03163314610cc7576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610d11578181015183820152602001610cf9565b50505050905090810190601f168015610d3e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610d71578181015183820152602001610d59565b50505050905090810190601f168015610d9e5780820380516001836020036101000a031916815260200191505b50945050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515610e23576040805160e560020a62461bcd02815260206004820152601760248201527f726f6c652065786973747320666f7220746865206f7267000000000000000000604482015290519081900360640190fd5b60038054600101908190556040805160208082018381528951606084015289516002946000948c948c94938493830192608001918701908083838b5b83811015610e77578181015183820152602001610e5f565b50505050905090810190601f168015610ea45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610ed7578181015183820152602001610ebf565b50505050905090810190601f168015610f045780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208852878201989098529587016000908120989098555050845160c0810186528b81528085018b905294850189905250505084151560608301528315156080830152600160a083018190528054808201808355919094528251805191946004027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60192610fae928492909101906120d9565b506020828101518051610fc792600185019201906120d9565b5060408281015160028301556060808401516003909301805460808087015160a09788015160ff199093169615159690961761ff001916610100961515969096029590951762ff0000191662010000911515919091021790558151918201889052861515908201528415159181019190915281815287519181019190915286517fefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c92508791879187918791879190819060208083019160c08401918a019080838360005b838110156110a357818101518382015260200161108b565b50505050905090810190601f1680156110d05780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b838110156111035781810151838201526020016110eb565b50505050905090810190601f1680156111305780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050565b6001545b90565b60608060008060008060018781548110151561116857fe5b906000526020600020906004020160000160018881548110151561118857fe5b90600052602060002090600402016001016001898154811015156111a857fe5b90600052602060002090600402016002015460018a8154811015156111c957fe5b60009182526020909120600360049092020101546001805460ff909216918c9081106111f157fe5b906000526020600020906004020160030160019054906101000a900460ff1660018c81548110151561121f57fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff1692909188918301828280156112c45780601f10611299576101008083540402835291602001916112c4565b820191906000526020600020905b8154815290600101906020018083116112a757829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a9450925084019050828280156113525780601f1061132757610100808354040283529160200191611352565b820191906000526020600020905b81548152906001019060200180831161133557829003601f168201915b5050505050945095509550955095509550955091939550919395565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156113be57600080fd5b505afa1580156113d2573d6000803e3d6000fd5b505050506040513d60208110156113e857600080fd5b5051600160a060020a03163314611437576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b60026000858585856040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f820116905080830192505050965050505050505060405160208183030381529060405280519060200120815260200190815260200160002054600014151515611523576040805160e560020a62461bcd02815260206004820152601360248201527f726f6c6520646f6573206e6f7420657869737400000000000000000000000000604482015290519081900360640190fd5b600061159885858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611fc992505050565b905060006001828154811015156115ab57fe5b906000526020600020906004020160030160026101000a81548160ff0219169083151502179055507f1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b600080600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156116b357818101518382015260200161169b565b50505050905090810190601f1680156116e05780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156117135781810151838201526020016116fb565b50505050905090810190601f1680156117405780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415156117b75761177f8585611fc9565b905060018181548110151561179057fe5b906000526020600020906004020160030160029054906101000a900460ff169150506118d3565b600260008685604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156118015781810151838201526020016117e9565b50505050905090810190601f16801561182e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611861578181015183820152602001611849565b50505050905090810190601f16801561188e5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415156118cd5761177f8584611fc9565b60009150505b9392505050565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561192c57600080fd5b505afa158015611940573d6000803e3d6000fd5b505050506040513d602081101561195657600080fd5b5051600160a060020a031633146119a5576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b611a4c87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061166692505050565b1515611a5a57506000611c4d565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611b7157611b6a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a9150899081908401838280828437600092019190915250611fc992505050565b9050611be7565b611be488888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250611fc992505050565b90505b6001805482908110611bf557fe5b906000526020600020906004020160030160029054906101000a900460ff168015611c4957506001805482908110611c2957fe5b906000526020600020906004020160030160019054906101000a900460ff165b9150505b9695505050505050565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611ca957600080fd5b505afa158015611cbd573d6000803e3d6000fd5b505050506040513d6020811015611cd357600080fd5b5051600160a060020a03163314611d22576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b611dc987878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061166692505050565b1515611dd757506000611c4d565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611eee57611ee788888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a9150899081908401838280828437600092019190915250611fc992505050565b9050611f64565b611f6188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250611fc992505050565b90505b6001805482908110611f7257fe5b906000526020600020906004020160030160029054906101000a900460ff168015611c4957506001805482908110611fa657fe5b600091825260209091206004909102016003015460ff1698975050505050505050565b60006001600260008585604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612017578181015183820152602001611fff565b50505050905090810190601f1680156120445780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561207757818101518382015260200161205f565b50505050905090810190601f1680156120a45780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205403905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061211a57805160ff1916838001178555612147565b82800160010185558215612147579182015b8281111561214757825182559160200191906001019061212c565b50612153929150612157565b5090565b61114d91905b80821115612153576000815560010161215d56fe696e76616c69642063616c6c6572000000000000000000000000000000000000a165627a7a72305820219c24ae118fc62e24df1c696bc05cd0fa79109a9630fb653ff262d71a9034c00029` +const RoleManagerBin = `608060405234801561001057600080fd5b506040516020806129598339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506128c8806100916000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c010000000000000000000000000000000000000000000000000000000090048063a634301211610078578063a634301214610552578063abf5739f14610620578063be322e5414610821578063deb16ba71461095c576100a5565b80631870aba3146100aa5780637b7135791461028557806387f55d31146103f9578063a451d4a814610417575b600080fd5b610176600480360360408110156100c057600080fd5b81019080803590602001906401000000008111156100dd57600080fd5b8201836020820111156100ef57600080fd5b8035906020019184600183028401116401000000008311171561011157600080fd5b90919293919293908035906020019064010000000081111561013257600080fd5b82018360208201111561014457600080fd5b8035906020019184600183028401116401000000008311171561016657600080fd5b9091929391929390505050610a97565b604051808060200180602001878152602001861515151581526020018515151515815260200184151515158152602001838103835289818151815260200191508051906020019080838360005b838110156101de5780820151818401526020810190506101c3565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610244578082015181840152602081019050610229565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b6103f7600480360360a081101561029b57600080fd5b81019080803590602001906401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460018302840111640100000000831117156102ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561034f57600080fd5b82018360208201111561036157600080fd5b8035906020019184600183028401116401000000008311171561038357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803515159060200190929190803515159060200190929190505050610e9b565b005b6104016114db565b6040518082815260200191505060405180910390f35b6104436004803603602081101561042d57600080fd5b81019080803590602001909291905050506114e8565b604051808060200180602001878152602001861515151581526020018515151515815260200184151515158152602001838103835289818151815260200191508051906020019080838360005b838110156104ab578082015181840152602081019050610490565b50505050905090810190601f1680156104d85780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156105115780820151818401526020810190506104f6565b50505050905090810190601f16801561053e5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b61061e6004803603604081101561056857600080fd5b810190808035906020019064010000000081111561058557600080fd5b82018360208201111561059757600080fd5b803590602001918460018302840111640100000000831117156105b957600080fd5b9091929391929390803590602001906401000000008111156105da57600080fd5b8201836020820111156105ec57600080fd5b8035906020019184600183028401116401000000008311171561060e57600080fd5b9091929391929390505050611729565b005b6108076004803603606081101561063657600080fd5b810190808035906020019064010000000081111561065357600080fd5b82018360208201111561066557600080fd5b8035906020019184600183028401116401000000008311171561068757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156106ea57600080fd5b8201836020820111156106fc57600080fd5b8035906020019184600183028401116401000000008311171561071e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561078157600080fd5b82018360208201111561079357600080fd5b803590602001918460018302840111640100000000831117156107b557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b08565b604051808215151515815260200191505060405180910390f35b6109426004803603606081101561083757600080fd5b810190808035906020019064010000000081111561085457600080fd5b82018360208201111561086657600080fd5b8035906020019184600183028401116401000000008311171561088857600080fd5b9091929391929390803590602001906401000000008111156108a957600080fd5b8201836020820111156108bb57600080fd5b803590602001918460018302840111640100000000831117156108dd57600080fd5b9091929391929390803590602001906401000000008111156108fe57600080fd5b82018360208201111561091057600080fd5b8035906020019184600183028401116401000000008311171561093257600080fd5b9091929391929390505050611dc6565b604051808215151515815260200191505060405180910390f35b610a7d6004803603606081101561097257600080fd5b810190808035906020019064010000000081111561098f57600080fd5b8201836020820111156109a157600080fd5b803590602001918460018302840111640100000000831117156109c357600080fd5b9091929391929390803590602001906401000000008111156109e457600080fd5b8201836020820111156109f657600080fd5b80359060200191846001830284011164010000000083111715610a1857600080fd5b909192939192939080359060200190640100000000811115610a3957600080fd5b820183602082011115610a4b57600080fd5b80359060200191846001830284011164010000000083111715610a6d57600080fd5b9091929391929390505050612252565b604051808215151515815260200191505060405180910390f35b606080600080600080610b438a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506020604051908101604052806000815250611b08565b1515610bc757898960008060008085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509450909192939450602060405190810160405280600081525093929190839350955095509550955095509550610e8e565b6000610c5b8b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b9050600181815481101515610c6c57fe5b9060005260206000209060040201600001600182815481101515610c8c57fe5b9060005260206000209060040201600101600183815481101515610cac57fe5b906000526020600020906004020160020154600184815481101515610ccd57fe5b906000526020600020906004020160030160009054906101000a900460ff16600185815481101515610cfb57fe5b906000526020600020906004020160030160019054906101000a900460ff16600186815481101515610d2957fe5b906000526020600020906004020160030160029054906101000a900460ff16858054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddd5780601f10610db257610100808354040283529160200191610ddd565b820191906000526020600020905b815481529060010190602001808311610dc057829003601f168201915b50505050509550848054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e795780601f10610e4e57610100808354040283529160200191610e79565b820191906000526020600020905b815481529060010190602001808311610e5c57829003601f168201915b50505050509450965096509650965096509650505b9499939850945094509450565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610f1e57600080fd5b505afa158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ffb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6000600260008787604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561104a57808201518184015260208101905061102f565b50505050905090810190601f1680156110775780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156110b0578082015181840152602081019050611095565b50505050905090810190601f1680156110dd5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205414151561117e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f726f6c652065786973747320666f7220746865206f726700000000000000000081525060200191505060405180910390fd5b600360008154809291906001019190505550600354600260008787604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156111e05780820151818401526020810190506111c5565b50505050905090810190601f16801561120d5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561124657808201518184015260208101905061122b565b50505050905090810190601f1680156112735780820380516001836020036101000a031916815260200191505b5094505050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160c06040519081016040528087815260200186815260200185815260200184151581526020018315158152602001600115158152509080600181540180825580915050906001820390600052602060002090600402016000909192909190915060008201518160000190805190602001906113209291906127f7565b50602082015181600101908051906020019061133d9291906127f7565b506040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555060a08201518160030160026101000a81548160ff0219169083151502179055505050507fefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c85858585856040518080602001806020018681526020018515151515815260200184151515158152602001838103835288818151815260200191508051906020019080838360005b8381101561142f578082015181840152602081019050611414565b50505050905090810190601f16801561145c5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b8381101561149557808201518184015260208101905061147a565b50505050905090810190601f1680156114c25780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050565b6000600180549050905090565b60608060008060008060018781548110151561150057fe5b906000526020600020906004020160000160018881548110151561152057fe5b906000526020600020906004020160010160018981548110151561154057fe5b90600052602060002090600402016002015460018a81548110151561156157fe5b906000526020600020906004020160030160009054906101000a900460ff1660018b81548110151561158f57fe5b906000526020600020906004020160030160019054906101000a900460ff1660018c8154811015156115bd57fe5b906000526020600020906004020160030160029054906101000a900460ff16858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116715780601f1061164657610100808354040283529160200191611671565b820191906000526020600020905b81548152906001019060200180831161165457829003601f168201915b50505050509550848054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561170d5780601f106116e25761010080835404028352916020019161170d565b820191906000526020600020905b8154815290600101906020018083116116f057829003601f168201915b5050505050945095509550955095509550955091939550919395565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156117ac57600080fd5b505afa1580156117c0573d6000803e3d6000fd5b505050506040513d60208110156117d657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600060026000868686866040516020018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020541415151561199b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f726f6c6520646f6573206e6f742065786973740000000000000000000000000081525060200191505060405180910390fd5b6000611a2f85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90506000600182815481101515611a4257fe5b906000526020600020906004020160030160026101000a81548160ff0219169083151502179055507f1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000806000600260008787604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611b5a578082015181840152602081019050611b3f565b50505050905090810190601f168015611b875780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611bc0578082015181840152602081019050611ba5565b50505050905090810190601f168015611bed5780820380516001836020036101000a031916815260200191505b5094505050505060405160208183030381529060405280519060200120815260200190815260200160002054141515611c6257611c2a85856126de565b9050600181815481101515611c3b57fe5b906000526020600020906004020160030160029054906101000a900460ff16915050611dbf565b6000600260008786604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611cb1578082015181840152602081019050611c96565b50505050905090810190601f168015611cde5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611d17578082015181840152602081019050611cfc565b50505050905090810190601f168015611d445780820380516001836020036101000a031916815260200191505b5094505050505060405160208183030381529060405280519060200120815260200190815260200160002054141515611db957611d8185846126de565b9050600181815481101515611d9257fe5b906000526020600020906004020160030160029054906101000a900460ff16915050611dbf565b60009150505b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e4b57600080fd5b505afa158015611e5f573d6000803e3d6000fd5b505050506040513d6020811015611e7557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b611fff87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611b08565b151561200e5760009050612248565b600080600260008a8a8a8a6040516020018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505096505050505050506040516020818303038152906040528051906020012081526020019081526020016000205414151561214b5761214488888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90506121e0565b6121dd88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90505b6001818154811015156121ef57fe5b906000526020600020906004020160030160029054906101000a900460ff168015612244575060018181548110151561222457fe5b906000526020600020906004020160030160019054906101000a900460ff165b9150505b9695505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156122d757600080fd5b505afa1580156122eb573d6000803e3d6000fd5b505050506040513d602081101561230157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b61248b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611b08565b151561249a57600090506126d4565b600080600260008a8a8a8a6040516020018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020541415156125d7576125d088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b905061266c565b61266988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90505b60018181548110151561267b57fe5b906000526020600020906004020160030160029054906101000a900460ff1680156126d057506001818154811015156126b057fe5b906000526020600020906004020160030160009054906101000a900460ff165b9150505b9695505050505050565b60006001600260008585604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561272f578082015181840152602081019050612714565b50505050905090810190601f16801561275c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561279557808201518184015260208101905061277a565b50505050905090810190601f1680156127c25780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205403905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061283857805160ff1916838001178555612866565b82800160010185558215612866579182015b8281111561286557825182559160200191906001019061284a565b5b5090506128739190612877565b5090565b61289991905b8082111561289557600081600090555060010161287d565b5090565b9056fea165627a7a723058200fa363dbf5823416afc50571373c9cbb5360d4a7fa817a2c171a9e4302238b890029` // DeployRoleManager deploys a new Ethereum contract, binding an instance of RoleManager to it. func DeployRoleManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *RoleManager, error) { diff --git a/permission/bind/voter.go b/permission/bind/voter.go index 92c02719c..bd32f3a66 100644 --- a/permission/bind/voter.go +++ b/permission/bind/voter.go @@ -31,7 +31,7 @@ var ( const VoterManagerABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getPendingOpDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"addVoter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"deleteVoter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_authOrg\",\"type\":\"string\"},{\"name\":\"_vAccount\",\"type\":\"address\"},{\"name\":\"_pendingOp\",\"type\":\"uint256\"}],\"name\":\"processVote\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_authOrg\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_pendingOp\",\"type\":\"uint256\"}],\"name\":\"addVotingItem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"VoterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_vAccount\",\"type\":\"address\"}],\"name\":\"VoterDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"VotingItemAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"VoteProcessed\",\"type\":\"event\"}]" // VoterManagerBin is the compiled bytecode used for deploying new contracts. -const VoterManagerBin = `6080604052600060035534801561001557600080fd5b506040516020806120968339810180604052602081101561003557600080fd5b505160008054600160a060020a03909216600160a060020a031990921691909117905561202f806100676000396000f3fe608060405234801561001057600080fd5b506004361061005a5760e060020a6000350463014e6acc811461005f5780635607395b146101cd57806359cbd6fe14610248578063b0213864146102c1578063e98ac22d14610354575b600080fd5b6100cf6004803603602081101561007557600080fd5b81019060208101813564010000000081111561009057600080fd5b8201836020820111156100a257600080fd5b803590602001918460018302840111640100000000831117156100c457600080fd5b509092509050610477565b60405180806020018060200185600160a060020a0316600160a060020a03168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b610246600480360360408110156101e357600080fd5b8101906020810181356401000000008111156101fe57600080fd5b82018360208201111561021057600080fd5b8035906020019184600183028401116401000000008311171561023257600080fd5b919350915035600160a060020a031661074e565b005b6102466004803603604081101561025e57600080fd5b81019060208101813564010000000081111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460018302840111640100000000831117156102ad57600080fd5b919350915035600160a060020a0316610f63565b610340600480360360608110156102d757600080fd5b8101906020810181356401000000008111156102f257600080fd5b82018360208201111561030457600080fd5b8035906020019184600183028401116401000000008311171561032657600080fd5b9193509150600160a060020a03813516906020013561124d565b604080519115158252519081900360200190f35b610246600480360360a081101561036a57600080fd5b81019060208101813564010000000081111561038557600080fd5b82018360208201111561039757600080fd5b803590602001918460018302840111640100000000831117156103b957600080fd5b9193909290916020810190356401000000008111156103d757600080fd5b8201836020820111156103e957600080fd5b8035906020019184600183028401116401000000008311171561040b57600080fd5b91939092909160208101903564010000000081111561042957600080fd5b82018360208201111561043b57600080fd5b8035906020019184600183028401116401000000008311171561045d57600080fd5b9193509150600160a060020a038135169060200135611772565b6060806000806000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b5051600160a060020a03163314610546576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b600061058787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b905060018181548110151561059857fe5b90600052602060002090600b02016004016000016001828154811015156105bb57fe5b90600052602060002090600b02016004016001016001838154811015156105de57fe5b600091825260209091206006600b90920201015460018054600160a060020a03909216918590811061060c57fe5b60009182526020918290206007600b909202010154845460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815291928691908301828280156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b5050505050925094509450945094505092959194509250565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561079e57600080fd5b505afa1580156107b2573d6000803e3d6000fd5b505050506040513d60208110156107c857600080fd5b5051600160a060020a03163314610817576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b60026000848460405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415610bac576003805460010190819055604080516020808201908152918101859052600291600091879187918190606001848480828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001208152602001908152602001600020819055506000600180548091906001016109119190611d54565b9050838360018381548110151561092457fe5b6000918252602090912061093e93600b9092020191611d85565b506001808281548110151561094f57fe5b90600052602060002090600b0201600101819055506001808281548110151561097457fe5b90600052602060002090600b020160020181905550600060018281548110151561099a57fe5b90600052602060002090600b02016003018190555060206040519081016040528060008152506001828154811015156109cf57fe5b90600052602060002090600b020160040160000190805190602001906109f6929190611e03565b506040805160208101909152600081526001805483908110610a1457fe5b90600052602060002090600b02016004016001019080519060200190610a3b929190611e03565b506000600182815481101515610a4d57fe5b600091825260208220600b9190910201600601805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0393909316929092179091556001805483908110610a9a57fe5b600091825260209091206007600b9092020101556001805482908110610abc57fe5b90600052602060002090600b020160010154600182815481101515610add57fe5b60009182526020808320600160a060020a03871684526009600b9093020191909101905260409020556001805482908110610b1457fe5b6000918252602080832060408051808201909152600160a060020a0387811682526001828501818152600b9690960290930160080180549384018155865292909420935193018054925173ffffffffffffffffffffffffffffffffffffffff19909316939091169290921774ff0000000000000000000000000000000000000000191660a060020a9115159190910217905550610eed565b6000610bed84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b9050600181815481101515610bfe57fe5b60009182526020808320600160a060020a03861684526009600b9093020191909101905260409020541515610d7b576001805482908110610c3b57fe5b600091825260209091206001600b909202018101805482019055805482908110610c6157fe5b90600052602060002090600b020160010154600182815481101515610c8257fe5b60009182526020808320600160a060020a03871684526009600b9093020191909101905260409020556001805482908110610cb957fe5b6000918252602080832060408051808201909152600160a060020a0387811682526001828501818152600b969096029093016008018054808501825590875293909520905192018054935173ffffffffffffffffffffffffffffffffffffffff19909416929094169190911774ff0000000000000000000000000000000000000000191660a060020a9215159290920291909117909155805482908110610d5c57fe5b600091825260209091206002600b909202010180546001019055610eeb565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250611c1c915050565b9050600182815481101515610dcf57fe5b90600052602060002090600b020160080181815481101515610ded57fe5b60009182526020909120015460a060020a900460ff16151560011415610e5d576040805160e560020a62461bcd02815260206004820152600f60248201527f616c7265616479206120766f7465720000000000000000000000000000000000604482015290519081900360640190fd5b60018083815481101515610e6d57fe5b90600052602060002090600b020160080182815481101515610e8b57fe5b6000918252602090912001805491151560a060020a0274ff0000000000000000000000000000000000000000199092169190911790556001805483908110610ecf57fe5b600091825260209091206002600b909202010180546001019055505b505b60408051600160a060020a03831660208201528181529081018390527f424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d34574908490849084908060608101858580828437600083820152604051601f909101601f1916909201829003965090945050505050a1505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610fb357600080fd5b505afa158015610fc7573d6000803e3d6000fd5b505050506040513d6020811015610fdd57600080fd5b5051600160a060020a0316331461102c576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250849250611070915083905082611c6e565b15156001146110c9576040805160e560020a62461bcd02815260206004820152600f60248201527f6d757374206265206120766f7465720000000000000000000000000000000000604482015290519081900360640190fd5b600061110a86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b9050600061114f87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250611c1c915050565b905060018281548110151561116057fe5b6000918252602082206002600b90920201018054600019019055600180548490811061118857fe5b90600052602060002090600b0201600801828154811015156111a657fe5b9060005260206000200160000160146101000a81548160ff0219169083151502179055507f654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b6878787604051808060200183600160a060020a0316600160a060020a031681526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a150505050505050565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561129f57600080fd5b505afa1580156112b3573d6000803e3d6000fd5b505050506040513d60208110156112c957600080fd5b5051600160a060020a03163314611318576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061135c915083905082611c6e565b15156001146113b5576040805160e560020a62461bcd02815260206004820152600f60248201527f6d757374206265206120766f7465720000000000000000000000000000000000604482015290519081900360640190fd5b6113f687878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250611d1e915050565b151560011461144f576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b600061149088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b90506001818154811015156114a157fe5b60009182526020808320848452600a600b909302019190910181526040808320600160a060020a038a16845290915290205460ff16151560011415611530576040805160e560020a62461bcd02815260206004820152601260248201527f63616e6e6f7420646f75626c6520766f74650000000000000000000000000000604482015290519081900360640190fd5b600180548290811061153e57fe5b600091825260209091206003600b909202010180546001908101909155805481908390811061156957fe5b60009182526020808320858452600b92909202909101600a0181526040808320600160a060020a038b168452825291829020805460ff19169315159390931790925580518281529182018990527f87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508918a918a919081908101848480828437600083820152604051601f909101601f19169092018290039550909350505050a1600260018281548110151561161957fe5b90600052602060002090600b02016002015481151561163457fe5b0460018281548110151561164457fe5b90600052602060002090600b020160030154111561176257604080516020810190915260008152600180548390811061167957fe5b90600052602060002090600b020160040160000190805190602001906116a0929190611e03565b5060408051602081019091526000815260018054839081106116be57fe5b90600052602060002090600b020160040160010190805190602001906116e5929190611e03565b5060006001828154811015156116f757fe5b600091825260208220600b9190910201600601805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600180548390811061174457fe5b600091825260209091206007600b9092020101555060019250611768565b60009350505b5050949350505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b505050506040513d60208110156117ec57600080fd5b5051600160a060020a0316331461183b576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b61187a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d1e915050565b15156118ba5760405160e560020a62461bcd028152600401808060200182810382526034815260200180611fd06034913960400191505060405180910390fd5b60006118fb89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b9050868660018381548110151561190e57fe5b90600052602060002090600b0201600401600001919061192f929190611d85565b50848460018381548110151561194157fe5b90600052602060002090600b02016004016001019190611962929190611d85565b508260018281548110151561197357fe5b90600052602060002090600b020160040160020160006101000a815481600160a060020a030219169083600160a060020a03160217905550816001828154811015156119bb57fe5b6000918252602082206007600b9092020101919091555b60018054839081106119e057fe5b90600052602060002090600b020160080180549050811015611ae2576001805483908110611a0a57fe5b90600052602060002090600b020160080181815481101515611a2857fe5b60009182526020909120015460a060020a900460ff1615611ada576000600183815481101515611a5457fe5b90600052602060002090600b0201600a0160008481526020019081526020016000206000600185815481101515611a8757fe5b90600052602060002090600b020160080184815481101515611aa557fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff19169115159190911790555b6001016119d2565b506000600182815481101515611af457fe5b90600052602060002090600b0201600301819055507f5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3898960405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a1505050505050505050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611bbd578181015183820152602001611ba5565b50505050905090810190601f168015611bea5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b600080611c2884611b74565b905060018082815481101515611c3a57fe5b60009182526020808320600160a060020a03881684526009600b909302019190910190526040902054039150505b92915050565b600080611c7a84611b74565b9050600181815481101515611c8b57fe5b60009182526020808320600160a060020a03871684526009600b9093020191909101905260409020541515611cc4576000915050611c68565b6000611cd08585611c1c565b9050600182815481101515611ce157fe5b90600052602060002090600b020160080181815481101515611cff57fe5b60009182526020909120015460a060020a900460ff1695945050505050565b6000816001611d2c85611b74565b81548110611d3657fe5b90600052602060002090600b02016004016003015414905092915050565b815481835581811115611d8057600b0281600b028360005260206000209182019101611d809190611e71565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611dc65782800160ff19823516178555611df3565b82800160010185558215611df3579182015b82811115611df3578235825591602001919060010190611dd8565b50611dff929150611f03565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e4457805160ff1916838001178555611df3565b82800160010185558215611df3579182015b82811115611df3578251825591602001919060010190611e56565b611f0091905b80821115611dff576000611e8b8282611f1d565b60006001830181905560028301819055600383018190556004830190611eb18282611f1d565b611ebf600183016000611f1d565b5060028101805473ffffffffffffffffffffffffffffffffffffffff1916905560006003909101819055611ef7906008840190611f64565b50600b01611e77565b90565b611f0091905b80821115611dff5760008155600101611f09565b50805460018160011615610100020316600290046000825580601f10611f435750611f61565b601f016020900490600052602060002090810190611f619190611f03565b50565b5080546000825590600052602060002090810190611f619190611f0091905b80821115611dff57805474ffffffffffffffffffffffffffffffffffffffffff19168155600101611f8356fe696e76616c69642063616c6c65720000000000000000000000000000000000006974656d732070656e64696e6720666f7220617070726f76616c2e206e6577206974656d2063616e6e6f74206265206164646564a165627a7a72305820a0e5ec1737ac16d4750a19b637b10d7bff539433fc67bc3440890a0e13ff63d90029` +const VoterManagerBin = `6080604052600060035534801561001557600080fd5b506040516020806129498339810180604052602081101561003557600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506128b3806100966000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c010000000000000000000000000000000000000000000000000000000090048063014e6acc146100795780635607395b1461021157806359cbd6fe146102aa578063b021386414610343578063e98ac22d146103fe575b600080fd5b6100f06004803603602081101561008f57600080fd5b81019080803590602001906401000000008111156100ac57600080fd5b8201836020820111156100be57600080fd5b803590602001918460018302840111640100000000831117156100e057600080fd5b909192939192939050505061054b565b6040518080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561016c578082015181840152602081019050610151565b50505050905090810190601f1680156101995780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b838110156101d25780820151818401526020810190506101b7565b50505050905090810190601f1680156101ff5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6102a86004803603604081101561022757600080fd5b810190808035906020019064010000000081111561024457600080fd5b82018360208201111561025657600080fd5b8035906020019184600183028401116401000000008311171561027857600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fa565b005b610341600480360360408110156102c057600080fd5b81019080803590602001906401000000008111156102dd57600080fd5b8201836020820111156102ef57600080fd5b8035906020019184600183028401116401000000008311171561031157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611336565b005b6103e46004803603606081101561035957600080fd5b810190808035906020019064010000000081111561037657600080fd5b82018360208201111561038857600080fd5b803590602001918460018302840111640100000000831117156103aa57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611728565b604051808215151515815260200191505060405180910390f35b610549600480360360a081101561041457600080fd5b810190808035906020019064010000000081111561043157600080fd5b82018360208201111561044357600080fd5b8035906020019184600183028401116401000000008311171561046557600080fd5b90919293919293908035906020019064010000000081111561048657600080fd5b82018360208201111561049857600080fd5b803590602001918460018302840111640100000000831117156104ba57600080fd5b9091929391929390803590602001906401000000008111156104db57600080fd5b8201836020820111156104ed57600080fd5b8035906020019184600183028401116401000000008311171561050f57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e0a565b005b6060806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156105d457600080fd5b505afa1580156105e8573d6000803e3d6000fd5b505050506040513d60208110156105fe57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600061070087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b905060018181548110151561071157fe5b90600052602060002090600b020160040160000160018281548110151561073457fe5b90600052602060002090600b020160040160010160018381548110151561075757fe5b90600052602060002090600b020160040160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018481548110151561079b57fe5b90600052602060002090600b020160040160030154838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108455780601f1061081a57610100808354040283529160200191610845565b820191906000526020600020905b81548152906001019060200180831161082857829003601f168201915b50505050509350828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108e15780601f106108b6576101008083540402835291602001916108e1565b820191906000526020600020905b8154815290600101906020018083116108c457829003601f168201915b5050505050925094509450945094505092959194509250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561097d57600080fd5b505afa158015610991573d6000803e3d6000fd5b505050506040513d60208110156109a757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600060026000858560405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001208152602001908152602001600020541415610e815760036000815480929190600101919050555060035460026000858560405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600060018054809190600101610b5c919061258c565b90508383600183815481101515610b6f57fe5b90600052602060002090600b02016000019190610b8d9291906125be565b5060018082815481101515610b9e57fe5b90600052602060002090600b02016001018190555060018082815481101515610bc357fe5b90600052602060002090600b0201600201819055506000600182815481101515610be957fe5b90600052602060002090600b0201600301819055506020604051908101604052806000815250600182815481101515610c1e57fe5b90600052602060002090600b02016004016000019080519060200190610c4592919061263e565b506020604051908101604052806000815250600182815481101515610c6657fe5b90600052602060002090600b02016004016001019080519060200190610c8d92919061263e565b506000600182815481101515610c9f57fe5b90600052602060002090600b020160040160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600182815481101515610d0257fe5b90600052602060002090600b020160040160030181905550600181815481101515610d2957fe5b90600052602060002090600b020160010154600182815481101515610d4a57fe5b90600052602060002090600b020160090160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600181815481101515610dab57fe5b90600052602060002090600b020160080160408051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055505050505061129a565b6000610ed084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b90506000600182815481101515610ee357fe5b90600052602060002090600b020160090160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156110fe57600181815481101515610f4757fe5b90600052602060002090600b020160010160008154809291906001019190505550600181815481101515610f7757fe5b90600052602060002090600b020160010154600182815481101515610f9857fe5b90600052602060002090600b020160090160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600181815481101515610ff957fe5b90600052602060002090600b020160080160408051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055505050506001818154811015156110d857fe5b90600052602060002090600b020160020160008154809291906001019190505550611298565b600061114e85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050846123fe565b90506001151560018381548110151561116357fe5b90600052602060002090600b02016008018281548110151561118157fe5b9060005260206000200160000160149054906101000a900460ff16151514151515611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f616c7265616479206120766f746572000000000000000000000000000000000081525060200191505060405180910390fd5b6001808381548110151561122457fe5b90600052602060002090600b02016008018281548110151561124257fe5b9060005260206000200160000160146101000a81548160ff02191690831515021790555060018281548110151561127557fe5b90600052602060002090600b020160020160008154809291906001019190505550505b505b7f424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d3457483838360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a1505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156113b957600080fd5b505afa1580156113cd573d6000803e3d6000fd5b505050506040513d60208110156113e357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081600115156114ea8383612475565b1515141515611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6d757374206265206120766f746572000000000000000000000000000000000081525060200191505060405180910390fd5b60006115b086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b9050600061160287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050866123fe565b905060018281548110151561161357fe5b90600052602060002090600b02016002016000815480929190600190039190505550600060018381548110151561164657fe5b90600052602060002090600b02016008018281548110151561166457fe5b9060005260206000200160000160146101000a81548160ff0219169083151502179055507f654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b687878760405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a150505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156117ad57600080fd5b505afa1580156117c1573d6000803e3d6000fd5b505050506040513d60208110156117d757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561188a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505083600115156118de8383612475565b1515141515611955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6d757374206265206120766f746572000000000000000000000000000000000081525060200191505060405180910390fd5b600115156119a788888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086612554565b1515141515611a1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b6000611a6d88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b905060011515600182815481101515611a8257fe5b90600052602060002090600b0201600a01600083815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611b67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e6e6f7420646f75626c6520766f7465000000000000000000000000000081525060200191505060405180910390fd5b600181815481101515611b7657fe5b90600052602060002090600b02016003016000815480929190600101919050555060018082815481101515611ba757fe5b90600052602060002090600b0201600a01600083815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508888860405180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405180910390a16002600182815481101515611c9157fe5b90600052602060002090600b020160020154811515611cac57fe5b04600182815481101515611cbc57fe5b90600052602060002090600b0201600301541115611dfa576020604051908101604052806000815250600182815481101515611cf457fe5b90600052602060002090600b02016004016000019080519060200190611d1b92919061263e565b506020604051908101604052806000815250600182815481101515611d3c57fe5b90600052602060002090600b02016004016001019080519060200190611d6392919061263e565b506000600182815481101515611d7557fe5b90600052602060002090600b020160040160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600182815481101515611dd857fe5b90600052602060002090600b0201600401600301819055506001935050611e00565b60009350505b5050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e8d57600080fd5b505afa158015611ea1573d6000803e3d6000fd5b505050506040513d6020811015611eb757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b611fb988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000612554565b1515612010576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806128546034913960400191505060405180910390fd5b600061205f89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b9050868660018381548110151561207257fe5b90600052602060002090600b020160040160000191906120939291906125be565b5084846001838154811015156120a557fe5b90600052602060002090600b020160040160010191906120c69291906125be565b50826001828154811015156120d757fe5b90600052602060002090600b020160040160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160018281548110151561213957fe5b90600052602060002090600b02016004016003018190555060008090505b60018281548110151561216657fe5b90600052602060002090600b0201600801805490508110156122be5760018281548110151561219157fe5b90600052602060002090600b0201600801818154811015156121af57fe5b9060005260206000200160000160149054906101000a900460ff16156122b15760006001838154811015156121e057fe5b90600052602060002090600b0201600a016000848152602001908152602001600020600060018581548110151561221357fe5b90600052602060002090600b02016008018481548110151561223157fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080600101915050612157565b5060006001828154811015156122d057fe5b90600052602060002090600b0201600301819055507f5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3898960405180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405180910390a1505050505050505050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561239f578082015181840152602081019050612384565b50505050905090810190601f1680156123cc5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b60008061240a84612353565b90506001808281548110151561241c57fe5b90600052602060002090600b020160090160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540391505092915050565b60008061248184612353565b9050600060018281548110151561249457fe5b90600052602060002090600b020160090160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156124f357600091505061254e565b60006124ff85856123fe565b905060018281548110151561251057fe5b90600052602060002090600b02016008018181548110151561252e57fe5b9060005260206000200160000160149054906101000a900460ff16925050505b92915050565b600081600161256285612353565b81548110151561256e57fe5b90600052602060002090600b02016004016003015414905092915050565b8154818355818111156125b957600b0281600b0283600052602060002091820191016125b891906126be565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106125ff57803560ff191683800117855561262d565b8280016001018555821561262d579182015b8281111561262c578235825591602001919060010190612611565b5b50905061263a919061276b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061267f57805160ff19168380011785556126ad565b828001600101855582156126ad579182015b828111156126ac578251825591602001919060010190612691565b5b5090506126ba919061276b565b5090565b61276891905b8082111561276457600080820160006126dd9190612790565b600182016000905560028201600090556003820160009055600482016000808201600061270a9190612790565b60018201600061271a9190612790565b6002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160009055505060088201600061275b91906127d8565b50600b016126c4565b5090565b90565b61278d91905b80821115612789576000816000905550600101612771565b5090565b90565b50805460018160011615610100020316600290046000825580601f106127b657506127d5565b601f0160209004906000526020600020908101906127d4919061276b565b5b50565b50805460008255906000526020600020908101906127f691906127f9565b50565b61285091905b8082111561284c57600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549060ff0219169055506001016127ff565b5090565b9056fe6974656d732070656e64696e6720666f7220617070726f76616c2e206e6577206974656d2063616e6e6f74206265206164646564a165627a7a723058200654b9b2546bb5ce191f641a5808e42e94b2690cd82bbf7a20b99e051baf4bb80029` // DeployVoterManager deploys a new Ethereum contract, binding an instance of VoterManager to it. func DeployVoterManager(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address) (common.Address, *types.Transaction, *VoterManager, error) { diff --git a/permission/contract/gen/AccountManager.bin b/permission/contract/gen/AccountManager.bin index 926a00b0b..49b521899 100644 --- a/permission/contract/gen/AccountManager.bin +++ b/permission/contract/gen/AccountManager.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b50604051602080613a988339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a0319909216919091179055613a36806100626000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e060020a9004806384b7a84a11610090578063c214e5e51161006a578063c214e5e5146105fb578063cef7f6af14610674578063e3483a9d14610736578063e8b42bf414610808576100d3565b806384b7a84a146104b9578063950145cf14610538578063b2018568146105de576100d3565b8063143a5604146100d85780631d09dc93146101ae5780632aceb53414610241578063309e36ef146103705780636b568d761461038a57806381d66b231461041e575b600080fd5b6101ac600480360360808110156100ee57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561011957600080fd5b82018360208201111561012b57600080fd5b8035906020019184600183028401116401000000008311171561014d57600080fd5b91939092909160208101903564010000000081111561016b57600080fd5b82018360208201111561017d57600080fd5b8035906020019184600183028401116401000000008311171561019f57600080fd5b9193509150351515610945565b005b61021e600480360360208110156101c457600080fd5b8101906020810181356401000000008111156101df57600080fd5b8201836020820111156101f157600080fd5b8035906020019184600183028401116401000000008311171561021357600080fd5b509092509050610d40565b604080519215158352600160a060020a0390911660208301528051918290030190f35b6102676004803603602081101561025757600080fd5b5035600160a060020a03166112dd565b6040518086600160a060020a0316600160a060020a03168152602001806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b838110156102d05781810151838201526020016102b8565b50505050905090810190601f1680156102fd5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015610330578181015183820152602001610318565b50505050905090810190601f16801561035d5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b61037861154b565b60408051918252519081900360200190f35b61040a600480360360408110156103a057600080fd5b600160a060020a0382351691908101906040810160208201356401000000008111156103cb57600080fd5b8201836020820111156103dd57600080fd5b803590602001918460018302840111640100000000831117156103ff57600080fd5b509092509050611552565b604080519115158252519081900360200190f35b6104446004803603602081101561043457600080fd5b5035600160a060020a03166116ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047e578181015183820152602001610466565b50505050905090810190601f1680156104ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ac600480360360608110156104cf57600080fd5b8101906020810181356401000000008111156104ea57600080fd5b8201836020820111156104fc57600080fd5b8035906020019184600183028401116401000000008311171561051e57600080fd5b9193509150600160a060020a03813516906020013561182f565b61040a6004803603602081101561054e57600080fd5b81019060208101813564010000000081111561056957600080fd5b82018360208201111561057b57600080fd5b8035906020019184600183028401116401000000008311171561059d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611f5f945050505050565b610267600480360360208110156105f457600080fd5b50356120da565b61040a6004803603604081101561061157600080fd5b81019060208101813564010000000081111561062c57600080fd5b82018360208201111561063e57600080fd5b8035906020019184600183028401116401000000008311171561066057600080fd5b919350915035600160a060020a03166122c4565b6101ac6004803603604081101561068a57600080fd5b8101906020810181356401000000008111156106a557600080fd5b8201836020820111156106b757600080fd5b803590602001918460018302840111640100000000831117156106d957600080fd5b9193909290916020810190356401000000008111156106f757600080fd5b82018360208201111561070957600080fd5b8035906020019184600183028401116401000000008311171561072b57600080fd5b509092509050612913565b6101ac6004803603608081101561074c57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561077757600080fd5b82018360208201111561078957600080fd5b803590602001918460018302840111640100000000831117156107ab57600080fd5b9193909290916020810190356401000000008111156107c957600080fd5b8201836020820111156107db57600080fd5b803590602001918460018302840111640100000000831117156107fd57600080fd5b9193509150356129fc565b61040a6004803603606081101561081e57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561084957600080fd5b82018360208201111561085b57600080fd5b8035906020019184600183028401116401000000008311171561087d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156108d057600080fd5b8201836020820111156108e257600080fd5b8035906020019184600183028401116401000000008311171561090457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612d6b945050505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561099557600080fd5b505afa1580156109a9573d6000803e3d6000fd5b505050506040513d60208110156109bf57600080fd5b5051600160a060020a03163314610a0e576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b6040805160208082019081526004805460026000196101006001841615020190911604938301849052929091829160609091019084908015610a915780601f10610a6657610100808354040283529160200191610a91565b820191906000526020600020905b815481529060010190602001808311610a7457829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015610c7f57506040805160208082019081526005805460026000196101006001841615020190911604938301849052929091829160609091019084908015610b8c5780601f10610b6157610100808354040283529160200191610b8c565b820191906000526020600020905b815481529060010190602001808311610b6f57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015610c34578181015183820152602001610c1c565b50505050905090810190601f168015610c615780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012014155b1515610cbf5760405160e560020a62461bcd0281526004018080602001828103825260408152602001806139666040913960400191505060405180910390fd5b610d388686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250600292508791506132d29050565b505050505050565b60008054604080517f0e32cf9000000000000000000000000000000000000000000000000000000000815290518392600160a060020a031691630e32cf90916004808301926020929190829003018186803b158015610d9e57600080fd5b505afa158015610db2573d6000803e3d6000fd5b505050506040513d6020811015610dc857600080fd5b5051600160a060020a03163314610e17576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b610e5684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5f92505050565b156112cf576000610ede60066000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a9004600160a060020a03166136b6565b90506006600182815481101515610ef157fe5b9060005260206000209060050201600301819055506000600182815481101515610f1757fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc776600182815481101515610f6f57fe5b600091825260209091206005909102015460018054600160a060020a039092169184908110610f9a57fe5b9060005260206000209060050201600101600184815481101515610fba57fe5b9060005260206000209060050201600201600185815481101515610fda57fe5b60009182526020909120600460059092020101546001805460ff909216918790811061100257fe5b60009182526020918290206003600590920201015460408051600160a060020a038816815284151560608201526080810183905260a0938101848152875460026000196101006001841615020190911604948201859052929390929183019060c0840190889080156110b55780601f1061108a576101008083540402835291602001916110b5565b820191906000526020600020905b81548152906001019060200180831161109857829003601f168201915b50508381038252865460026000196101006001841615020190911604808252602090910190879080156111295780601f106110fe57610100808354040283529160200191611129565b820191906000526020600020905b81548152906001019060200180831161110c57829003601f168201915b505097505050505050505060405180910390a160408051602080820190815260048054600260001961010060018416150201909116049383018490529290918291606090910190849080156111bf5780601f10611194576101008083540402835291602001916111bf565b820191906000526020600020905b8154815290600101906020018083116111a257829003601f168201915b505092505050604051602081830303815290604052805190602001206001828154811015156111ea57fe5b60009182526020918290206040805180850194855260026005909402909201830180546000196101006001831615020116939093049082018190529192918291606001908490801561127d5780601f106112525761010080835404028352916020019161127d565b820191906000526020600020905b81548152906001019060200180831161126057829003601f168201915b50509250505060405160208183030381529060405280519060200120146001828154811015156112a957fe5b6000918252602090912060059091020154909350600160a060020a031691506112d69050565b5060009050805b9250929050565b600160a060020a038116600090815260026020526040812054606090819083908190151561135a575050604080518082018252600481527f4e4f4e45000000000000000000000000000000000000000000000000000000006020808301919091528251908101909252600080835286955090935090915080611542565b6000611365876136b6565b905060018181548110151561137657fe5b600091825260209091206005909102015460018054600160a060020a0390921691839081106113a157fe5b90600052602060002090600502016001016001838154811015156113c157fe5b90600052602060002090600502016002016001848154811015156113e157fe5b90600052602060002090600502016003015460018581548110151561140257fe5b600091825260209182902060046005909202010154845460408051601f6002600019600186161561010002019094169390930492830185900485028101850190915281815260ff909216928691908301828280156114a15780601f10611476576101008083540402835291602001916114a1565b820191906000526020600020905b81548152906001019060200180831161148457829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529599508894509250840190508282801561152f5780601f106115045761010080835404028352916020019161152f565b820191906000526020600020905b81548152906001019060200180831161151257829003601f168201915b5050505050925095509550955095509550505b91939590929450565b6001545b90565b600160a060020a0383166000908152600260205260408120541515611579575060016116a6565b6000611584856136b6565b9050838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001206001828154811015156115e857fe5b906000526020600020906005020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156116855780601f1061165a57610100808354040283529160200191611685565b820191906000526020600020905b81548152906001019060200180831161166857829003601f168201915b50509250505060405160208183030381529060405280519060200120149150505b9392505050565b600160a060020a0381166000908152600260205260409020546060901515611709575060408051808201909152600481527f4e4f4e4500000000000000000000000000000000000000000000000000000000602082015261182a565b6000611714836136b6565b905060018181548110151561172557fe5b90600052602060002090600502016003015460001415156117f357600180548290811061174e57fe5b600091825260209182902060026005909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156117e65780601f106117bb576101008083540402835291602001916117e6565b820191906000526020600020905b8154815290600101906020018083116117c957829003601f168201915b505050505091505061182a565b505060408051808201909152600481527f4e4f4e450000000000000000000000000000000000000000000000000000000060208201525b919050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561187f57600080fd5b505afa158015611893573d6000803e3d6000fd5b505050506040513d60208110156118a957600080fd5b5051600160a060020a031633146118f8576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600160a060020a0387168152600260205260409020548693501515915061199d9050576040805160e560020a62461bcd02815260206004820152601760248201527f6163636f756e7420646f6573206e6f7420657869737473000000000000000000604482015290519081900360640190fd5b816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156119de5781810151838201526020016119c6565b50505050905090810190601f168015611a0b5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001611a31836136b6565b81548110611a3b57fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611ad85780601f10611aad57610100808354040283529160200191611ad8565b820191906000526020600020905b815481529060010190602001808311611abb57829003601f168201915b50509250505060405160208183030381529060405280519060200120141515611b4b576040805160e560020a62461bcd02815260206004820152601860248201527f6163636f756e7420696e20646966666572656e74206f72670000000000000000604482015290519081900360640190fd5b600083118015611b5b5750600683105b1515611bb1576040805160e560020a62461bcd02815260206004820152601d60248201527f696e76616c696420737461747573206368616e67652072657175657374000000604482015290519081900360640190fd5b611bff8487878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612d6b915050565b151560011415611c435760405160e560020a62461bcd0281526004018080602001828103825260318152602001806139da6031913960400191505060405180910390fd5b60008360011415611cc0576001611c59866136b6565b81548110611c6357fe5b9060005260206000209060050201600301546002141515611cb85760405160e560020a62461bcd0281526004018080602001828103825260398152602001806139056039913960400191505060405180910390fd5b506004611ea9565b8360021415611d3b576001611cd4866136b6565b81548110611cde57fe5b9060005260206000209060050201600301546004141515611d335760405160e560020a62461bcd02815260040180806020018281038252603c8152602001806138c9603c913960400191505060405180910390fd5b506002611ea9565b8360031415611db7576001611d4f866136b6565b81548110611d5957fe5b906000526020600020906005020160030154600514151515611daf5760405160e560020a62461bcd0281526004018080602001828103825260388152602001806138716038913960400191505060405180910390fd5b506005611ea9565b8360041415611e32576001611dcb866136b6565b81548110611dd557fe5b9060005260206000209060050201600301546005141515611e2a5760405160e560020a62461bcd0281526004018080602001828103825260348152602001806139a66034913960400191505060405180910390fd5b506007611ea9565b8360051415611ea9576001611e46866136b6565b81548110611e5057fe5b9060005260206000209060050201600301546007141515611ea55760405160e560020a62461bcd0281526004018080602001828103825260388152602001806138396038913960400191505060405180910390fd5b5060025b806001611eb5876136b6565b81548110611ebf57fe5b9060005260206000209060050201600301819055507f36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b25858888846040518085600160a060020a0316600160a060020a03168152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a150505050505050565b600080600160a060020a031660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611fb0578181015183820152602001611f98565b50505050905090810190601f168015611fdd5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a0316146120d257600060066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561205c578181015183820152602001612044565b50505050905090810190601f1680156120895780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a031690506120c7816136d5565b60021491505061182a565b506000919050565b60006060806000806001868154811015156120f157fe5b600091825260209091206005909102015460018054600160a060020a03909216918890811061211c57fe5b906000526020600020906005020160010160018881548110151561213c57fe5b906000526020600020906005020160020160018981548110151561215c57fe5b90600052602060002090600502016003015460018a81548110151561217d57fe5b600091825260209182902060046005909202010154845460408051601f6002600019600186161561010002019094169390930492830185900485028101850190915281815260ff9092169286919083018282801561221c5780601f106121f15761010080835404028352916020019161221c565b820191906000526020600020905b8154815290600101906020018083116121ff57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156122aa5780601f1061227f576101008083540402835291602001916122aa565b820191906000526020600020905b81548152906001019060200180831161228d57829003601f168201915b505050505092509450945094509450945091939590929450565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561231657600080fd5b505afa15801561232a573d6000803e3d6000fd5b505050506040513d602081101561234057600080fd5b5051600160a060020a0316331461238f576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b606061239a836116ad565b905060006123a7846136d5565b905060006123b4856136b6565b604080516020808201908152600580546002600019610100600184161502019091160493830184905293945091829160600190849080156124365780601f1061240b57610100808354040283529160200191612436565b820191906000526020600020905b81548152906001019060200180831161241957829003601f168201915b50509250505060405160208183030381529060405280519060200120836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561249357818101518382015260200161247b565b50505050905090810190601f1680156124c05780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001201480156124e85750816001145b15612578578460066000898960405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a815481600160a060020a030219169083600160a060020a031602179055505b600260018281548110151561258957fe5b906000526020600020906005020160030181905550600180828154811015156125ae57fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc7768560018381548110151561260757fe5b906000526020600020906005020160010160018481548110151561262757fe5b906000526020600020906005020160020160018581548110151561264757fe5b60009182526020909120600460059092020101546001805460ff909216918790811061266f57fe5b60009182526020918290206003600590920201015460408051600160a060020a038816815284151560608201526080810183905260a0938101848152875460026000196101006001841615020190911604948201859052929390929183019060c0840190889080156127225780601f106126f757610100808354040283529160200191612722565b820191906000526020600020905b81548152906001019060200180831161270557829003601f168201915b50508381038252865460026000196101006001841615020190911604808252602090910190879080156127965780601f1061276b57610100808354040283529160200191612796565b820191906000526020600020905b81548152906001019060200180831161277957829003601f168201915b505097505050505050505060405180910390a1604080516020808201908152600480546002600019610100600184161502019091160493830184905292909182916060909101908490801561282c5780601f106128015761010080835404028352916020019161282c565b820191906000526020600020905b81548152906001019060200180831161280f57829003601f168201915b5050925050506040516020818303038152906040528051906020012060018281548110151561285757fe5b6000918252602091829020604080518085019485526002600590940290920183018054600019610100600183161502011693909304908201819052919291829160600190849080156128ea5780601f106128bf576101008083540402835291602001916128ea565b820191906000526020600020905b8154815290600101906020018083116128cd57829003601f168201915b505092505050604051602081830303815290604052805190602001201493505050509392505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506040513d602081101561298d57600080fd5b5051600160a060020a031633146129dc576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b6129e860048585613732565b506129f560058383613732565b5050505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612a4c57600080fd5b505afa158015612a60573d6000803e3d6000fd5b505050506040513d6020811015612a7657600080fd5b5051600160a060020a03163314612ac5576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b6040805160208082019081526005805460026000196101006001841615020190911604938301849052929091829160609091019084908015612b485780601f10612b1d57610100808354040283529160200191612b48565b820191906000526020600020905b815481529060010190602001808311612b2b57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001201480612cb257506040805160208082019081526004805460026000196101006001841615020190911604938301849052929091829160609091019084908015612c415780601f10612c1657610100808354040283529160200191612c41565b820191906000526020600020905b815481529060010190602001808311612c2457829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120145b1515612cf25760405160e560020a62461bcd02815260040180806020018281038252602881526020018061393e6028913960400191505060405180910390fd5b610d388686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250879250600191506132d29050565b60408051602080820190815260048054600260001961010060018416150201909116049383018490526000939092829160609091019084908015612df05780601f10612dc557610100808354040283529160200191612df0565b820191906000526020600020905b815481529060010190602001808311612dd357829003601f168201915b50509250505060405160208183030381529060405280519060200120612e15856116ad565b6040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612e55578181015183820152602001612e3d565b50505050905090810190601f168015612e825780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001201415613163576000612eae856136b6565b9050836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612ef1578181015183820152602001612ed9565b50505050905090810190601f168015612f1e5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120600182815481101515612f4857fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612fe55780601f10612fba57610100808354040283529160200191612fe5565b820191906000526020600020905b815481529060010190602001808311612fc857829003601f168201915b50509250505060405160208183030381529060405280519060200120148061315b5750826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613049578181015183820152602001613031565b50505050905090810190601f1680156130765780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001828154811015156130a057fe5b9060005260206000209060050201600101604051602001808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561313d5780601f106131125761010080835404028352916020019161313d565b820191906000526020600020905b81548152906001019060200180831161312057829003601f168201915b50509250505060405160208183030381529060405280519060200120145b9150506116a6565b83600160a060020a031660066000856040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156131b257818101518382015260200161319a565b50505050905090810190601f1680156131df5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a031614806132ca575083600160a060020a031660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613268578181015183820152602001613250565b50505050905090810190601f1680156132955780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054600160a060020a0316145b949350505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561332257600080fd5b505afa158015613336573d6000803e3d6000fd5b505050506040513d602081101561334c57600080fd5b5051600160a060020a0316331461339b576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a9833981519152604482015290519081900360640190fd5b60006133a6866136b6565b600160a060020a0387166000908152600260205260409020549091501561345857836001828154811015156133d757fe5b906000526020600020906005020160020190805190602001906133fb9291906137b0565b508260018281548110151561340c57fe5b9060005260206000209060050201600301819055508160018281548110151561343157fe5b60009182526020909120600590910201600401805460ff1916911515919091179055613580565b60038054600190810191829055600160a060020a03888116600081815260026020908152604080832096909655855160a0810187529283528281018b81529583018a905260608301899052871515608084015284548086018087559590925282517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66005909302928301805473ffffffffffffffffffffffffffffffffffffffff191691909516178455945180519495929461353d937fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf79093019291909101906137b0565b50604082015180516135599160028401916020909101906137b0565b50606082015160038201556080909101516004909101805460ff1916911515919091179055505b7f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc77686868685876040518086600160a060020a0316600160a060020a03168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561360f5781810151838201526020016135f7565b50505050905090810190601f16801561363c5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561366f578181015183820152602001613657565b50505050905090810190601f16801561369c5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1505050505050565b600160a060020a03166000908152600260205260409020546000190190565b600160a060020a03811660009081526002602052604081205415156136fc5750600061182a565b6000613707836136b6565b905060018181548110151561371857fe5b906000526020600020906005020160030154915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106137735782800160ff198235161785556137a0565b828001600101855582156137a0579182015b828111156137a0578235825591602001919060010190613785565b506137ac92915061381e565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106137f157805160ff19168380011785556137a0565b828001600101855582156137a0579182015b828111156137a0578251825591602001919060010190613803565b61154f91905b808211156137ac576000815560010161382456fe6163636f756e74207265636f76657279206e6f7420696e697469617465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e7420697320616c726561647920626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e65696e76616c69642063616c6c65720000000000000000000000000000000000006163636f756e74206973206e6f7420696e2073757370656e646564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e20616374697665207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e6563616e2062652063616c6c656420746f2061737369676e2061646d696e20726f6c6573206f6e6c7963616e6e6f742062652063616c6c65642066726f2061737369676e696e67206f72672061646d696e20616e64206e6574776f726b2061646d696e20726f6c65736163636f756e74206973206e6f7420626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e65737461747573206368616e6765206e6f7420706f737369626c6520666f72206f72672061646d696e206163636f756e7473a165627a7a723058206647d423d0279bc57c8c51e6154d68e637c7e951d83eb8b973141b431f437cca0029 \ No newline at end of file +608060405234801561001057600080fd5b50604051602080620048c18339810180604052602081101561003157600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061482e80620000936000396000f3fe608060405234801561001057600080fd5b50600436106100ec576000357c01000000000000000000000000000000000000000000000000000000009004806384b7a84a116100a9578063c214e5e511610083578063c214e5e514610877578063cef7f6af14610928578063e3483a9d146109f6578063e8b42bf414610aee576100ec565b806384b7a84a146105a9578063950145cf1461064c578063b20185681461071f576100ec565b8063143a5604146100f15780631d09dc93146101eb5780632aceb534146102af578063309e36ef1461041d5780636b568d761461043b57806381d66b23146104ec575b600080fd5b6101e96004803603608081101561010757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561014457600080fd5b82018360208201111561015657600080fd5b8035906020019184600183028401116401000000008311171561017857600080fd5b90919293919293908035906020019064010000000081111561019957600080fd5b8201836020820111156101ab57600080fd5b803590602001918460018302840111640100000000831117156101cd57600080fd5b9091929391929390803515159060200190929190505050610c78565b005b6102626004803603602081101561020157600080fd5b810190808035906020019064010000000081111561021e57600080fd5b82018360208201111561023057600080fd5b8035906020019184600183028401116401000000008311171561025257600080fd5b9091929391929390505050611157565b60405180831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b6102f1600480360360208110156102c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611823565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b8381101561037757808201518184015260208101905061035c565b50505050905090810190601f1680156103a45780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b838110156103dd5780820151818401526020810190506103c2565b50505050905090810190601f16801561040a5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610425611afe565b6040518082815260200191505060405180910390f35b6104d26004803603604081101561045157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561048e57600080fd5b8201836020820111156104a057600080fd5b803590602001918460018302840111640100000000831117156104c257600080fd5b9091929391929390505050611b0b565b604051808215151515815260200191505060405180910390f35b61052e6004803603602081101561050257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c91565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561056e578082015181840152602081019050610553565b50505050905090810190601f16801561059b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61064a600480360360608110156105bf57600080fd5b81019080803590602001906401000000008111156105dc57600080fd5b8201836020820111156105ee57600080fd5b8035906020019184600183028401116401000000008311171561061057600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e4f565b005b6107056004803603602081101561066257600080fd5b810190808035906020019064010000000081111561067f57600080fd5b82018360208201111561069157600080fd5b803590602001918460018302840111640100000000831117156106b357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612781565b604051808215151515815260200191505060405180910390f35b61074b6004803603602081101561073557600080fd5b8101908080359060200190929190505050612957565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200185815260200184151515158152602001838103835287818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b8381101561083757808201518184015260208101905061081c565b50505050905090810190601f1680156108645780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b61090e6004803603604081101561088d57600080fd5b81019080803590602001906401000000008111156108aa57600080fd5b8201836020820111156108bc57600080fd5b803590602001918460018302840111640100000000831117156108de57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b7a565b604051808215151515815260200191505060405180910390f35b6109f46004803603604081101561093e57600080fd5b810190808035906020019064010000000081111561095b57600080fd5b82018360208201111561096d57600080fd5b8035906020019184600183028401116401000000008311171561098f57600080fd5b9091929391929390803590602001906401000000008111156109b057600080fd5b8201836020820111156109c257600080fd5b803590602001918460018302840111640100000000831117156109e457600080fd5b90919293919293905050506132e3565b005b610aec60048036036080811015610a0c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610a4957600080fd5b820183602082011115610a5b57600080fd5b80359060200191846001830284011164010000000083111715610a7d57600080fd5b909192939192939080359060200190640100000000811115610a9e57600080fd5b820183602082011115610ab057600080fd5b80359060200191846001830284011164010000000083111715610ad257600080fd5b90919293919293908035906020019092919050505061346d565b005b610c5e60048036036060811015610b0457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610b4157600080fd5b820183602082011115610b5357600080fd5b80359060200191846001830284011164010000000083111715610b7557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610bd857600080fd5b820183602082011115610bea57600080fd5b80359060200191846001830284011164010000000083111715610c0c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506138c5565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610cfb57600080fd5b505afa158015610d0f573d6000803e3d6000fd5b505050506040513d6020811015610d2557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60046040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610e665780601f10610e3b57610100808354040283529160200191610e66565b820191906000526020600020905b815481529060010190602001808311610e4957829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015611062575060056040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610f6c5780601f10610f4157610100808354040283529160200191610f6c565b820191906000526020600020905b815481529060010190602001808311610f4f57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611017578082015181840152602081019050610ffc565b50505050905090810190601f1680156110445780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012014155b15156110b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604081526020018061475e6040913960400191505060405180910390fd5b61114f8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600285613ebc565b505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156111dd57600080fd5b505afa1580156111f1573d6000803e3d6000fd5b505050506040513d602081101561120757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b61130784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612781565b1561181157600061139c60066000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166143d6565b905060066001828154811015156113af57fe5b90600052602060002090600502016003018190555060006001828154811015156113d557fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc77660018281548110151561142d57fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018381548110151561146e57fe5b906000526020600020906005020160010160018481548110151561148e57fe5b90600052602060002090600502016002016001858154811015156114ae57fe5b906000526020600020906005020160040160009054906101000a900460ff166001868154811015156114dc57fe5b906000526020600020906005020160030154604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001851515151581526020018481526020018381038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156115bd5780601f10611592576101008083540402835291602001916115bd565b820191906000526020600020905b8154815290600101906020018083116115a057829003601f168201915b50508381038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156116405780601f1061161557610100808354040283529160200191611640565b820191906000526020600020905b81548152906001019060200180831161162357829003601f168201915b505097505050505050505060405180910390a1600460405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156116e15780601f106116b6576101008083540402835291602001916116e1565b820191906000526020600020905b8154815290600101906020018083116116c457829003601f168201915b5050925050506040516020818303038152906040528051906020012060018281548110151561170c57fe5b906000526020600020906005020160020160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156117a95780601f1061177e576101008083540402835291602001916117a9565b820191906000526020600020905b81548152906001019060200180831161178c57829003601f168201915b50509250505060405160208183030381529060405280519060200120146001828154811015156117d557fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925092505061181c565b600080809050915091505b9250929050565b60006060806000806000600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156118d457856000806040805190810160405280600481526020017f4e4f4e450000000000000000000000000000000000000000000000000000000081525091906020604051908101604052806000815250919081915094509450945094509450611af5565b60006118df876143d6565b90506001818154811015156118f057fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018281548110151561193157fe5b906000526020600020906005020160010160018381548110151561195157fe5b906000526020600020906005020160020160018481548110151561197157fe5b90600052602060002090600502016003015460018581548110151561199257fe5b906000526020600020906005020160040160009054906101000a900460ff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a465780601f10611a1b57610100808354040283529160200191611a46565b820191906000526020600020905b815481529060010190602001808311611a2957829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ae25780601f10611ab757610100808354040283529160200191611ae2565b820191906000526020600020905b815481529060010190602001808311611ac557829003601f168201915b5050505050925095509550955095509550505b91939590929450565b6000600180549050905090565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611b5d5760019050611c8a565b6000611b68856143d6565b9050838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120600182815481101515611bcc57fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611c695780601f10611c3e57610100808354040283529160200191611c69565b820191906000526020600020905b815481529060010190602001808311611c4c57829003601f168201915b50509250505060405160208183030381529060405280519060200120149150505b9392505050565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611d18576040805190810160405280600481526020017f4e4f4e45000000000000000000000000000000000000000000000000000000008152509050611e4a565b6000611d23836143d6565b90506000600182815481101515611d3657fe5b906000526020600020906005020160030154141515611e1057600181815481101515611d5e57fe5b90600052602060002090600502016002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e035780601f10611dd857610100808354040283529160200191611e03565b820191906000526020600020905b815481529060010190602001808311611de657829003601f168201915b5050505050915050611e4a565b6040805190810160405280600481526020017f4e4f4e45000000000000000000000000000000000000000000000000000000008152509150505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611ed257600080fd5b505afa158015611ee6573d6000803e3d6000fd5b505050506040513d6020811015611efc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611faf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050826000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6163636f756e7420646f6573206e6f742065786973747300000000000000000081525060200191505060405180910390fd5b816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156120f15780820151818401526020810190506120d6565b50505050905090810190601f16801561211e5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001612144836143d6565b81548110151561215057fe5b906000526020600020906005020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121ed5780601f106121c2576101008083540402835291602001916121ed565b820191906000526020600020905b8154815290600101906020018083116121d057829003601f168201915b5050925050506040516020818303038152906040528051906020012014151561227e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6163636f756e7420696e20646966666572656e74206f7267000000000000000081525060200191505060405180910390fd5b60008311801561228e5750600683105b1515612302576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f696e76616c696420737461747573206368616e6765207265717565737400000081525060200191505060405180910390fd5b600115156123658588888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060206040519081016040528060008152506138c5565b1515141515156123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806147d26031913960400191505060405180910390fd5b6000600184141561245757600260016123d8876143d6565b8154811015156123e457fe5b90600052602060002090600502016003015414151561244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806146fd6039913960400191505060405180910390fd5b600490506126ac565b60028414156124ec576004600161246d876143d6565b81548110151561247957fe5b9060005260206000209060050201600301541415156124e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c8152602001806146c1603c913960400191505060405180910390fd5b600290506126ab565b60038414156125825760056001612502876143d6565b81548110151561250e57fe5b90600052602060002090600502016003015414151515612579576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806146896038913960400191505060405180910390fd5b600590506126aa565b60048414156126175760056001612598876143d6565b8154811015156125a457fe5b90600052602060002090600502016003015414151561260e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061479e6034913960400191505060405180910390fd5b600790506126a9565b60058414156126a8576007600161262d876143d6565b81548110151561263957fe5b9060005260206000209060050201600301541415156126a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806146516038913960400191505060405180910390fd5b600290505b5b5b5b5b8060016126b8876143d6565b8154811015156126c457fe5b9060005260206000209060050201600301819055507f36b0ea38154dec5e98b6bf928b971a9db5e8cd4b6946350e9e43fb9848c70b2585888884604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018381526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405180910390a150505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff1660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156127e25780820151818401526020810190506127c7565b50505050905090810190601f16801561280f5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561294d57600060066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156128c05780820151818401526020810190506128a5565b50505050905090810190601f1680156128ed5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600261294482614422565b14915050612952565b600090505b919050565b600060608060008060018681548110151561296e57fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001878154811015156129af57fe5b90600052602060002090600502016001016001888154811015156129cf57fe5b90600052602060002090600502016002016001898154811015156129ef57fe5b90600052602060002090600502016003015460018a815481101515612a1057fe5b906000526020600020906005020160040160009054906101000a900460ff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612ac45780601f10612a9957610100808354040283529160200191612ac4565b820191906000526020600020905b815481529060010190602001808311612aa757829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b605780601f10612b3557610100808354040283529160200191612b60565b820191906000526020600020905b815481529060010190602001808311612b4357829003601f168201915b505050505092509450945094509450945091939590929450565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015612bff57600080fd5b505afa158015612c13573d6000803e3d6000fd5b505050506040513d6020811015612c2957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612cdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6060612ce783611c91565b90506000612cf484614422565b90506000612d01856143d6565b905060056040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612d915780601f10612d6657610100808354040283529160200191612d91565b820191906000526020600020905b815481529060010190602001808311612d7457829003601f168201915b50509250505060405160208183030381529060405280519060200120836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612df1578082015181840152602081019050612dd6565b50505050905090810190601f168015612e1e5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120148015612e465750600182145b15612ef0578460066000898960405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6002600182815481101515612f0157fe5b90600052602060002090600502016003018190555060018082815481101515612f2657fe5b906000526020600020906005020160040160006101000a81548160ff0219169083151502179055507f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc77685600183815481101515612f7f57fe5b9060005260206000209060050201600101600184815481101515612f9f57fe5b9060005260206000209060050201600201600185815481101515612fbf57fe5b906000526020600020906005020160040160009054906101000a900460ff16600186815481101515612fed57fe5b906000526020600020906005020160030154604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001851515151581526020018481526020018381038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156130ce5780601f106130a3576101008083540402835291602001916130ce565b820191906000526020600020905b8154815290600101906020018083116130b157829003601f168201915b50508381038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131515780601f1061312657610100808354040283529160200191613151565b820191906000526020600020905b81548152906001019060200180831161313457829003601f168201915b505097505050505050505060405180910390a1600460405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131f25780601f106131c7576101008083540402835291602001916131f2565b820191906000526020600020905b8154815290600101906020018083116131d557829003601f168201915b5050925050506040516020818303038152906040528051906020012060018281548110151561321d57fe5b906000526020600020906005020160020160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132ba5780601f1061328f576101008083540402835291602001916132ba565b820191906000526020600020905b81548152906001019060200180831161329d57829003601f168201915b505092505050604051602081830303815290604052805190602001201493505050509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561336657600080fd5b505afa15801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b8383600491906134549291906144ab565b508181600591906134669291906144ab565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156134f057600080fd5b505afa158015613504573d6000803e3d6000fd5b505050506040513d602081101561351a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156135cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6005604051602001808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561365b5780601f106136305761010080835404028352916020019161365b565b820191906000526020600020905b81548152906001019060200180831161363e57829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014806137d057506004604051602001808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561375f5780601f106137345761010080835404028352916020019161375f565b820191906000526020600020905b81548152906001019060200180831161374257829003601f168201915b50509250505060405160208183030381529060405280519060200120838360405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120145b1515613827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806147366028913960400191505060405180910390fd5b6138bd8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050846001613ebc565b505050505050565b6000600460405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156139555780601f1061392a57610100808354040283529160200191613955565b820191906000526020600020905b81548152906001019060200180831161393857829003601f168201915b5050925050506040516020818303038152906040528051906020012061397a85611c91565b6040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156139bd5780820151818401526020810190506139a2565b50505050905090810190601f1680156139ea5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001201415613cd1576000613a16856143d6565b9050836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613a5c578082015181840152602081019050613a41565b50505050905090810190601f168015613a895780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120600182815481101515613ab357fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613b505780601f10613b2557610100808354040283529160200191613b50565b820191906000526020600020905b815481529060010190602001808311613b3357829003601f168201915b505092505050604051602081830303815290604052805190602001201480613cc95750826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613bb7578082015181840152602081019050613b9c565b50505050905090810190601f168015613be45780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120600182815481101515613c0e57fe5b90600052602060002090600502016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613cab5780601f10613c8057610100808354040283529160200191613cab565b820191906000526020600020905b815481529060010190602001808311613c8e57829003601f168201915b50509250505060405160208183030381529060405280519060200120145b915050613eb5565b8373ffffffffffffffffffffffffffffffffffffffff1660066000856040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613d30578082015181840152602081019050613d15565b50505050905090810190601f168015613d5d5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480613eb257508373ffffffffffffffffffffffffffffffffffffffff1660066000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015613e23578082015181840152602081019050613e08565b50505050905090810190601f168015613e505780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b90505b9392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613f3f57600080fd5b505afa158015613f53573d6000803e3d6000fd5b505050506040513d6020811015613f6957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561401c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6000614027866143d6565b90506000600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515614109578360018281548110151561408257fe5b906000526020600020906005020160020190805190602001906140a692919061452b565b50826001828154811015156140b757fe5b906000526020600020906005020160030181905550816001828154811015156140dc57fe5b906000526020600020906005020160040160006101000a81548160ff02191690831515021790555061427d565b600360008154809291906001019190505550600354600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160a0604051908101604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018581526020018415158152509080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010190805190602001906142319291906145ab565b50604082015181600201908051906020019061424e9291906145ab565b506060820151816003015560808201518160040160006101000a81548160ff0219169083151502179055505050505b7f68e62a03aeb0a125c2fc869eed72f2fca473680987bdd680c093a534e17cc7768686868587604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200185151515158152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561432957808201518184015260208101905061430e565b50505050905090810190601f1680156143565780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b8381101561438f578082015181840152602081019050614374565b50505050905090810190601f1680156143bc5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a1505050505050565b60006001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054039050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561447457600090506144a6565b600061447f836143d6565b905060018181548110151561449057fe5b9060005260206000209060050201600301549150505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106144ec57803560ff191683800117855561451a565b8280016001018555821561451a579182015b828111156145195782358255916020019190600101906144fe565b5b509050614527919061462b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061456c57805160ff191683800117855561459a565b8280016001018555821561459a579182015b8281111561459957825182559160200191906001019061457e565b5b5090506145a7919061462b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106145ec57805160ff191683800117855561461a565b8280016001018555821561461a579182015b828111156146195782518255916020019190600101906145fe565b5b509050614627919061462b565b5090565b61464d91905b80821115614649576000816000905550600101614631565b5090565b9056fe6163636f756e74207265636f76657279206e6f7420696e697469617465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e7420697320616c726561647920626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e2073757370656e646564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e656163636f756e74206973206e6f7420696e20616374697665207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e6563616e2062652063616c6c656420746f2061737369676e2061646d696e20726f6c6573206f6e6c7963616e6e6f742062652063616c6c65642066726f2061737369676e696e67206f72672061646d696e20616e64206e6574776f726b2061646d696e20726f6c65736163636f756e74206973206e6f7420626c61636b6c69737465642e206f7065726174696f6e2063616e6e6f7420626520646f6e65737461747573206368616e6765206e6f7420706f737369626c6520666f72206f72672061646d696e206163636f756e7473a165627a7a723058201a85faea2a42d6b5f259c935879fff7b0586d227c45d0817e490f562316524da0029 \ No newline at end of file diff --git a/permission/contract/gen/NodeManager.bin b/permission/contract/gen/NodeManager.bin index 5cc264ce5..e5eda8646 100644 --- a/permission/contract/gen/NodeManager.bin +++ b/permission/contract/gen/NodeManager.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506040516020806125388339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a03199092169190911790556124d6806100626000396000f3fe608060405234801561001057600080fd5b506004361061008c5760003560e060020a9004806397c07a9b1161005f57806397c07a9b1461042e578063a97a44061461044b578063b81c806a1461050d578063e3b09d84146102aa5761008c565b80630cc50146146100915780633f0e0e47146101555780633f5e1a45146102aa57806386bc36521461036c575b600080fd5b610153600480360360608110156100a757600080fd5b8101906020810181356401000000008111156100c257600080fd5b8201836020820111156100d457600080fd5b803590602001918460018302840111640100000000831117156100f657600080fd5b91939092909160208101903564010000000081111561011457600080fd5b82018360208201111561012657600080fd5b8035906020019184600183028401116401000000008311171561014857600080fd5b919350915035610527565b005b6101c56004803603602081101561016b57600080fd5b81019060208101813564010000000081111561018657600080fd5b82018360208201111561019857600080fd5b803590602001918460018302840111640100000000831117156101ba57600080fd5b509092509050610f34565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561020c5781810151838201526020016101f4565b50505050905090810190601f1680156102395780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561026c578181015183820152602001610254565b50505050905090810190601f1680156102995780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b610153600480360360408110156102c057600080fd5b8101906020810181356401000000008111156102db57600080fd5b8201836020820111156102ed57600080fd5b8035906020019184600183028401116401000000008311171561030f57600080fd5b91939092909160208101903564010000000081111561032d57600080fd5b82018360208201111561033f57600080fd5b8035906020019184600183028401116401000000008311171561036157600080fd5b50909250905061120b565b6101536004803603604081101561038257600080fd5b81019060208101813564010000000081111561039d57600080fd5b8201836020820111156103af57600080fd5b803590602001918460018302840111640100000000831117156103d157600080fd5b9193909290916020810190356401000000008111156103ef57600080fd5b82018360208201111561040157600080fd5b8035906020019184600183028401116401000000008311171561042357600080fd5b5090925090506115e2565b6101c56004803603602081101561044457600080fd5b5035611b01565b6101536004803603604081101561046157600080fd5b81019060208101813564010000000081111561047c57600080fd5b82018360208201111561048e57600080fd5b803590602001918460018302840111640100000000831117156104b057600080fd5b9193909290916020810190356401000000008111156104ce57600080fd5b8201836020820111156104e057600080fd5b8035906020019184600183028401116401000000008311171561050257600080fd5b509092509050611c90565b610515612067565b60408051918252519081900360200190f35b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d60208110156105a157600080fd5b5051600160a060020a031633146105f0576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b8381101561066d578181015183820152602001610655565b50505050905090810190601f16801561069a5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054151561071a576040805160e560020a62461bcd02815260206004820152601e60248201527f70617373656420656e6f646520696420646f6573206e6f742065786973740000604482015290519081900360640190fd5b61078d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061206e92505050565b15156107cd5760405160e560020a62461bcd02815260040180806020018281038252602a8152602001806123ee602a913960400191505060405180910390fd5b81600114806107dc5750816002145b806107e75750816003145b806107f25750816004145b806107fd5750816005145b151561083d5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806124586026913960400191505060405180910390fd5b81600114156109bd5761088586868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b6002146108ca576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b6003600161090d88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b8154811061091757fe5b9060005260206000209060030201600201819055507fc6c3720fe673e87bb26e06be713d514278aa94c3939cfe7c64b9bea4d486824a868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b8160021415610b3d57610a0586868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b600314610a4a576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b60026001610a8d88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610a9757fe5b9060005260206000209060030201600201819055507f49796be3ca168a59c8ae46c75a36a9bb3a84753d3e12a812f93ae010e783b14f868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b8160031415610c395760046001610b8988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610b9357fe5b9060005260206000209060030201600201819055507f4714623279994517c446c8fb72c3fdaca26434da1e2490d3976fe0cd880cfa7a868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b8160041415610db957610c8186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b600414610cc6576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b60056001610d0988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610d1357fe5b9060005260206000209060030201600201819055507ffd385c618a1e89d01fb9a21780846793e282e8bc0b60caf6ccb3e422d543fbfb868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a1610f2c565b610df886868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b600514610e3d576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020612418833981519152604482015290519081900360640190fd5b60026001610e8088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b81548110610e8a57fe5b9060005260206000209060030201600201819055507f787d7bc525e7c4658c64e3e456d974a1be21cc196e8162a4bf1337a12cb38dac868686866040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15b505050505050565b606080600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015610f7e578181015183820152602001610f66565b50505050905090810190601f168015610fab5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020546000141561103c5784846000602060405190810160405280600081525092919082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969950919750919550611204945050505050565b600061107d86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b905060018181548110151561108e57fe5b90600052602060002090600302016001016001828154811015156110ae57fe5b90600052602060002090600302016000016001838154811015156110ce57fe5b60009182526020918290206002600390920201810154845460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835290928591908301828280156111675780601f1061113c57610100808354040283529160200191611167565b820191906000526020600020905b81548152906001019060200180831161114a57829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959850879450925084019050828280156111f55780601f106111ca576101008083540402835291602001916111f5565b820191906000526020600020905b8154815290600101906020018083116111d857829003601f168201915b50505050509150935093509350505b9250925092565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561125b57600080fd5b505afa15801561126f573d6000803e3d6000fd5b505050506040513d602081101561128557600080fd5b5051600160a060020a031633146112d4576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b83811015611351578181015183820152602001611339565b50505050905090810190601f16801561137e5780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208652908501959095525050500160002054156113fd576040805160e560020a62461bcd02815260206004820152601660248201527f70617373656420656e6f64652069642065786973747300000000000000000000604482015290519081900360640190fd5b6003805460010190819055604080516020808201908152918101879052600291600091899189918190606001848480828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f88018190048102820181019092528681529181019190879087908190840183828082843760009201829052509385525050600260209384015250835460018101808655948252908290208351805160039093029091019261152892849290910190612355565b5060208281015180516115419260018501920190612355565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561163257600080fd5b505afa158015611646573d6000803e3d6000fd5b505050506040513d602081101561165c57600080fd5b5051600160a060020a031633146116ab576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b83811015611728578181015183820152602001611710565b50505050905090810190601f1680156117555780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181528151602092830120865290850195909552505050016000205415156117d5576040805160e560020a62461bcd02815260206004820152601e60248201527f70617373656420656e6f646520696420646f6573206e6f742065786973740000604482015290519081900360640190fd5b61184885858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525061206e92505050565b15156118885760405160e560020a62461bcd02815260040180806020018281038252602d81526020018061247e602d913960400191505060405180910390fd5b6118c785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d092505050565b60011461191e576040805160e560020a62461bcd02815260206004820152601c60248201527f6e6f7468696e672070656e64696e6720666f7220617070726f76616c00000000604482015290519081900360640190fd5b600061195f86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ad92505050565b9050600260018281548110151561197257fe5b9060005260206000209060030201600201819055507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d6001828154811015156119b757fe5b90600052602060002090600302016000016001838154811015156119d757fe5b9060005260206000209060030201600101604051808060200180602001838103835285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a755780601f10611a4a57610100808354040283529160200191611a75565b820191906000526020600020905b815481529060010190602001808311611a5857829003601f168201915b5050838103825284546002600019610100600184161502019091160480825260209091019085908015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b505094505050505060405180910390a1505050505050565b6060806000600184815481101515611b1557fe5b9060005260206000209060030201600101600185815481101515611b3557fe5b9060005260206000209060030201600001600186815481101515611b5557fe5b60009182526020918290206002600390920201810154845460408051601f600019610100600186161502019093169490940491820185900485028401850190528083529092859190830182828015611bee5780601f10611bc357610100808354040283529160200191611bee565b820191906000526020600020905b815481529060010190602001808311611bd157829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295985087945092508401905082828015611c7c5780601f10611c5157610100808354040283529160200191611c7c565b820191906000526020600020905b815481529060010190602001808311611c5f57829003601f168201915b505050505091509250925092509193909250565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611ce057600080fd5b505afa158015611cf4573d6000803e3d6000fd5b505050506040513d6020811015611d0a57600080fd5b5051600160a060020a03163314611d59576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612438833981519152604482015290519081900360640190fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602080820181815288519383019390935287516002975093955087945091928392606090920191850190808383895b83811015611dd6578181015183820152602001611dbe565b50505050905090810190601f168015611e035780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181528151602092830120865290850195909552505050016000205415611e82576040805160e560020a62461bcd02815260206004820152601660248201527f70617373656420656e6f64652069642065786973747300000000000000000000604482015290519081900360640190fd5b6003805460010190819055604080516020808201908152918101879052600291600091899189918190606001848480828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f880181900481028201810190925286815291810191908790879081908401838280828437600092018290525093855250506001602093840181905285549081018087559583529183902084518051600390940290910193611fad93859350910190612355565b506020828101518051611fc69260018501920190612355565b50604082015181600201555050507fb1a7eec7dd1a516c3132d6d1f770758b19aa34c3a07c138caf662688b7e3556f858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b6003545b90565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156120b1578181015183820152602001612099565b50505050905090810190601f1680156120de5780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001612104856122ad565b8154811061210e57fe5b906000526020600020906003020160010160405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121ab5780601f10612180576101008083540402835291602001916121ab565b820191906000526020600020905b81548152906001019060200180831161218e57829003601f168201915b5050925050506040516020818303038152906040528051906020012014905092915050565b600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156122175781810151838201526020016121ff565b50505050905090810190601f1680156122445780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020546000141561227e575060006122a8565b6001612289836122ad565b8154811061229357fe5b90600052602060002090600302016002015490505b919050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156122f65781810151838201526020016122de565b50505050905090810190601f1680156123235780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061239657805160ff19168380011785556123c3565b828001600101855582156123c3579182015b828111156123c35782518255916020019190600101906123a8565b506123cf9291506123d3565b5090565b61206b91905b808211156123cf57600081556001016123d956fe656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f72676f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000696e76616c69642063616c6c6572000000000000000000000000000000000000696e76616c6964206f7065726174696f6e2e2077726f6e6720616374696f6e20706173736564656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267206964a165627a7a723058207cff3ea081a38532b1cbb3e26bd877ba18520c5b7e5f9b83e640fb5e931efcad0029 \ No newline at end of file +608060405234801561001057600080fd5b506040516020806132d98339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613248806100916000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806397c07a9b1161007857806397c07a9b14610483578063a97a44061461059d578063b81c806a1461066b578063e3b09d8414610689576100a5565b80630cc50146146100aa5780633f0e0e47146101825780633f5e1a45146102e757806386bc3652146103b5575b600080fd5b610180600480360360608110156100c057600080fd5b81019080803590602001906401000000008111156100dd57600080fd5b8201836020820111156100ef57600080fd5b8035906020019184600183028401116401000000008311171561011157600080fd5b90919293919293908035906020019064010000000081111561013257600080fd5b82018360208201111561014457600080fd5b8035906020019184600183028401116401000000008311171561016657600080fd5b909192939192939080359060200190929190505050610757565b005b6101f96004803603602081101561019857600080fd5b81019080803590602001906401000000008111156101b557600080fd5b8201836020820111156101c757600080fd5b803590602001918460018302840111640100000000831117156101e957600080fd5b9091929391929390505050611404565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015610243578082015181840152602081019050610228565b50505050905090810190601f1680156102705780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156102a957808201518184015260208101905061028e565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103b3600480360360408110156102fd57600080fd5b810190808035906020019064010000000081111561031a57600080fd5b82018360208201111561032c57600080fd5b8035906020019184600183028401116401000000008311171561034e57600080fd5b90919293919293908035906020019064010000000081111561036f57600080fd5b82018360208201111561038157600080fd5b803590602001918460018302840111640100000000831117156103a357600080fd5b9091929391929390505050611718565b005b610481600480360360408110156103cb57600080fd5b81019080803590602001906401000000008111156103e857600080fd5b8201836020820111156103fa57600080fd5b8035906020019184600183028401116401000000008311171561041c57600080fd5b90919293919293908035906020019064010000000081111561043d57600080fd5b82018360208201111561044f57600080fd5b8035906020019184600183028401116401000000008311171561047157600080fd5b9091929391929390505050611c08565b005b6104af6004803603602081101561049957600080fd5b8101908080359060200190929190505050612271565b604051808060200180602001848152602001838103835286818151815260200191508051906020019080838360005b838110156104f95780820151818401526020810190506104de565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561055f578082015181840152602081019050610544565b50505050905090810190601f16801561058c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b610669600480360360408110156105b357600080fd5b81019080803590602001906401000000008111156105d057600080fd5b8201836020820111156105e257600080fd5b8035906020019184600183028401116401000000008311171561060457600080fd5b90919293919293908035906020019064010000000081111561062557600080fd5b82018360208201111561063757600080fd5b8035906020019184600183028401116401000000008311171561065957600080fd5b909192939192939050505061241c565b005b61067361290c565b6040518082815260200191505060405180910390f35b6107556004803603604081101561069f57600080fd5b81019080803590602001906401000000008111156106bc57600080fd5b8201836020820111156106ce57600080fd5b803590602001918460018302840111640100000000831117156106f057600080fd5b90919293919293908035906020019064010000000081111561071157600080fd5b82018360208201111561072357600080fd5b8035906020019184600183028401116401000000008311171561074557600080fd5b9091929391929390505050612916565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156107da57600080fd5b505afa1580156107ee573d6000803e3d6000fd5b505050506040513d602081101561080457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561094657808201518184015260208101905061092b565b50505050905090810190601f1680156109735780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205414151515610a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f70617373656420656e6f646520696420646f6573206e6f74206578697374000081525060200191505060405180910390fd5b610aa586868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e06565b1515610afc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806131a0602a913960400191505060405180910390fd5b6001821480610b0b5750600282145b80610b165750600382145b80610b215750600482145b80610b2c5750600582145b1515610b83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806131ca6026913960400191505060405180910390fd5b6001821415610d5e576002610bdb87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b141515610c50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60036001610ca188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b815481101515610cad57fe5b9060005260206000209060030201600201819055507fc6c3720fe673e87bb26e06be713d514278aa94c3939cfe7c64b9bea4d486824a868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fc565b6002821415610f39576003610db687878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b141515610e2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60026001610e7c88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b815481101515610e8857fe5b9060005260206000209060030201600201819055507f49796be3ca168a59c8ae46c75a36a9bb3a84753d3e12a812f93ae010e783b14f868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fb565b60038214156110505760046001610f9388888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b815481101515610f9f57fe5b9060005260206000209060030201600201819055507f4714623279994517c446c8fb72c3fdaca26434da1e2490d3976fe0cd880cfa7a868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113fa565b600482141561122b5760046110a887878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b14151561111d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6005600161116e88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b81548110151561117a57fe5b9060005260206000209060030201600201819055507ffd385c618a1e89d01fb9a21780846793e282e8bc0b60caf6ccb3e422d543fbfb868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a16113f9565b600561127a87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b1415156112ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6002600161134088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b81548110151561134c57fe5b9060005260206000209060030201600201819055507f787d7bc525e7c4658c64e3e456d974a1be21cc196e8162a4bf1337a12cb38dac868686866040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15b5b5b5b505050505050565b60608060008060026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611452578082015181840152602081019050611437565b50505050905090810190601f16801561147f5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054141561151f5784846000602060405190810160405280600081525092919082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509150909150809050925092509250611711565b600061156e86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b905060018181548110151561157f57fe5b906000526020600020906003020160010160018281548110151561159f57fe5b90600052602060002090600302016000016001838154811015156115bf57fe5b906000526020600020906003020160020154828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116665780601f1061163b57610100808354040283529160200191611666565b820191906000526020600020905b81548152906001019060200180831161164957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117025780601f106116d757610100808354040283529160200191611702565b820191906000526020600020905b8154815290600101906020018083116116e557829003601f168201915b50505050509150935093509350505b9250925092565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561179b57600080fd5b505afa1580156117af573d6000803e3d6000fd5b505050506040513d60208110156117c557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156119075780820151818401526020810190506118ec565b50505050905090810190601f1680156119345780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020541415156119d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020016002815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000019080519060200190611b3f9291906130fa565b506020820151816001019080519060200190611b5c9291906130fa565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611c8b57600080fd5b505afa158015611c9f573d6000803e3d6000fd5b505050506040513d6020811015611cb557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611df7578082015181840152602081019050611ddc565b50505050905090810190601f168015611e245780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012081526020019081526020016000205414151515611ec4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f70617373656420656e6f646520696420646f6573206e6f74206578697374000081525060200191505060405180910390fd5b611f5685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612e06565b1515611fad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001806131f0602d913960400191505060405180910390fd5b6001611ffc86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f6d565b141515612071576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f6e6f7468696e672070656e64696e6720666f7220617070726f76616c0000000081525060200191505060405180910390fd5b60006120c086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061304f565b905060026001828154811015156120d357fe5b9060005260206000209060030201600201819055507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d60018281548110151561211857fe5b906000526020600020906003020160000160018381548110151561213857fe5b90600052602060002090600302016001016040518080602001806020018381038352858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121d65780601f106121ab576101008083540402835291602001916121d6565b820191906000526020600020905b8154815290600101906020018083116121b957829003601f168201915b50508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156122595780601f1061222e57610100808354040283529160200191612259565b820191906000526020600020905b81548152906001019060200180831161223c57829003601f168201915b505094505050505060405180910390a1505050505050565b606080600060018481548110151561228557fe5b90600052602060002090600302016001016001858154811015156122a557fe5b90600052602060002090600302016000016001868154811015156122c557fe5b906000526020600020906003020160020154828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561236c5780601f106123415761010080835404028352916020019161236c565b820191906000526020600020905b81548152906001019060200180831161234f57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124085780601f106123dd57610100808354040283529160200191612408565b820191906000526020600020905b8154815290600101906020018083116123eb57829003601f168201915b505050505091509250925092509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561249f57600080fd5b505afa1580156124b3573d6000803e3d6000fd5b505050506040513d60208110156124c957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561257c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561260b5780820151818401526020810190506125f0565b50505050905090810190601f1680156126385780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001208152602001908152602001600020541415156126d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200160018152509080600181540180825580915050906001820390600052602060002090600302016000909192909190915060008201518160000190805190602001906128439291906130fa565b5060208201518160010190805190602001906128609291906130fa565b50604082015181600201555050507fb1a7eec7dd1a516c3132d6d1f770758b19aa34c3a07c138caf662688b7e3556f858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000600354905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561299957600080fd5b505afa1580156129ad573d6000803e3d6000fd5b505050506040513d60208110156129c357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600060026000836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612b05578082015181840152602081019050612aea565b50505050905090810190601f168015612b325780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054141515612bd1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f70617373656420656e6f6465206964206578697374730000000000000000000081525060200191505060405180910390fd5b60036000815480929190600101919050555060035460026000878760405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160606040519081016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081526020016002815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000019080519060200190612d3d9291906130fa565b506020820151816001019080519060200190612d5a9291906130fa565b50604082015181600201555050507f0413ce00d5de406d9939003416263a7530eaeb13f9d281c8baeba1601def960d858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612e4c578082015181840152602081019050612e31565b50505050905090810190601f168015612e795780820380516001836020036101000a031916815260200191505b5092505050604051602081830303815290604052805190602001206001612e9f8561304f565b815481101515612eab57fe5b90600052602060002090600302016001016040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612f485780601f10612f1d57610100808354040283529160200191612f48565b820191906000526020600020905b815481529060010190602001808311612f2b57829003601f168201915b5050925050506040516020818303038152906040528051906020012014905092915050565b60008060026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015612fb8578082015181840152602081019050612f9d565b50505050905090810190601f168015612fe55780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054141561301e576000905061304a565b60016130298361304f565b81548110151561303557fe5b90600052602060002090600302016002015490505b919050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561309b578082015181840152602081019050613080565b50505050905090810190601f1680156130c85780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061313b57805160ff1916838001178555613169565b82800160010185558215613169579182015b8281111561316857825182559160200191906001019061314d565b5b509050613176919061317a565b5090565b61319c91905b80821115613198576000816000905550600101613180565b5090565b9056fe656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267696e76616c6964206f7065726174696f6e2e2077726f6e6720616374696f6e20706173736564656e6f646520696420646f6573206e6f742062656c6f6e6720746f2074686520706173736564206f7267206964a165627a7a72305820a46616495a957989964cf36c1721df3dca4c5c0e613c53dd53eb454f4c07972a0029 \ No newline at end of file diff --git a/permission/contract/gen/OrgManager.bin b/permission/contract/gen/OrgManager.bin index 5da36be07..d8d2467ae 100644 --- a/permission/contract/gen/OrgManager.bin +++ b/permission/contract/gen/OrgManager.bin @@ -1 +1 @@ -60806040526001805460a060020a60ff021916905560046002819055600355600060065534801561002f57600080fd5b506040516020806139c78339810180604052602081101561004f57600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790556139488061007f6000396000f3fe608060405234801561001057600080fd5b50600436106100d35760003560e060020a900480637755ebdd11610090578063e30283161161006a578063e3028316146106dc578063f4d6d9f51461074c578063f9953de5146107bc578063ffe40d1d1461082c576100d3565b80637755ebdd146105a25780638c8642df146105aa5780639e58eb9f14610666576100d3565b80630cc27493146100d857806314f775f91461015a578063177c8d8a146101cc5780631f953480146102b15780635c4f32ee146103735780635e99f6e5146104e2575b600080fd5b610148600480360360408110156100ee57600080fd5b81019060208101813564010000000081111561010957600080fd5b82018360208201111561011b57600080fd5b8035906020019184600183028401116401000000008311171561013d57600080fd5b9193509150356108d2565b60408051918252519081900360200190f35b6101ca6004803603604081101561017057600080fd5b81019060208101813564010000000081111561018b57600080fd5b82018360208201111561019d57600080fd5b803590602001918460018302840111640100000000831117156101bf57600080fd5b919350915035610c7d565b005b61023c600480360360208110156101e257600080fd5b8101906020810181356401000000008111156101fd57600080fd5b82018360208201111561020f57600080fd5b8035906020019184600183028401116401000000008311171561023157600080fd5b509092509050610e74565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027657818101518382015260200161025e565b50505050905090810190601f1680156102a35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ca600480360360408110156102c757600080fd5b8101906020810181356401000000008111156102e257600080fd5b8201836020820111156102f457600080fd5b8035906020019184600183028401116401000000008311171561031657600080fd5b91939092909160208101903564010000000081111561033457600080fd5b82018360208201111561034657600080fd5b8035906020019184600183028401116401000000008311171561036857600080fd5b50909250905061103a565b6103906004803603602081101561038957600080fd5b503561123e565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b838110156103e15781810151838201526020016103c9565b50505050905090810190601f16801561040e5780820380516001836020036101000a031916815260200191505b5084810383528851815288516020918201918a019080838360005b83811015610441578181015183820152602001610429565b50505050905090810190601f16801561046e5780820380516001836020036101000a031916815260200191505b50848103825287518152875160209182019189019080838360005b838110156104a1578181015183820152602001610489565b50505050905090810190601f1680156104ce5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610552600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184600183028401116401000000008311171561054757600080fd5b5090925090506114b3565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561058e578181015183820152602001610576565b505050509050019250505060405180910390f35b610148611608565b610652600480360360408110156105c057600080fd5b8101906020810181356401000000008111156105db57600080fd5b8201836020820111156105ed57600080fd5b8035906020019184600183028401116401000000008311171561060f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061160f915050565b604080519115158252519081900360200190f35b6101ca6004803603606081101561067c57600080fd5b81019060208101813564010000000081111561069757600080fd5b8201836020820111156106a957600080fd5b803590602001918460018302840111640100000000831117156106cb57600080fd5b919350915080359060200135611767565b6101ca600480360360208110156106f257600080fd5b81019060208101813564010000000081111561070d57600080fd5b82018360208201111561071f57600080fd5b8035906020019184600183028401116401000000008311171561074157600080fd5b50909250905061188a565b6103906004803603602081101561076257600080fd5b81019060208101813564010000000081111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460018302840111640100000000831117156107b157600080fd5b509092509050611c9a565b6101ca600480360360208110156107d257600080fd5b8101906020810181356401000000008111156107ed57600080fd5b8201836020820111156107ff57600080fd5b8035906020019184600183028401116401000000008311171561082157600080fd5b509092509050612003565b6106526004803603602081101561084257600080fd5b81019060208101813564010000000081111561085d57600080fd5b82018360208201111561086f57600080fd5b8035906020019184600183028401116401000000008311171561089157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506121b7945050505050565b600154604080517f0e32cf900000000000000000000000000000000000000000000000000000000081529051600092600160a060020a031691630e32cf90916004808301926020929190829003018186803b15801561093057600080fd5b505afa158015610944573d6000803e3d6000fd5b505050506040513d602081101561095a57600080fd5b5051600160a060020a031633146109a9576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109eb92508391506121b79050565b1515600114610a44576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8260011480610a535750826002145b1515610a935760405160e560020a62461bcd0281526004018080602001828103825260258152602001806138566025913960400191505060405180910390fd5b6000610ad486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b9050600481815481101515610ae557fe5b9060005260206000209060080201600601546001141515610b3a5760405160e560020a62461bcd02815260040180806020018281038252602781526020018061387b6027913960400191505060405180910390fd5b6000808560011415610b5157506002905080610b62565b8560021415610b6257506004905060035b610ba388888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061160f915050565b1515600114610be65760405160e560020a62461bcd0281526004018080602001828103825260278152602001806138c26027913960400191505060405180910390fd5b8560011415610c3357610c2e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122d292505050565b610c72565b610c7288888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061259492505050565b979650505050505050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b5051600160a060020a03163314610d47576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8992508391506121b79050565b1515600114610de2576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8160011415610e2f57610e2a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061274192505050565b610e6e565b610e6e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a0792505050565b50505050565b600154604080517f0e32cf900000000000000000000000000000000000000000000000000000000081529051606092600160a060020a031691630e32cf90916004808301926020929190829003018186803b158015610ed257600080fd5b505afa158015610ee6573d6000803e3d6000fd5b505050506040513d6020811015610efc57600080fd5b5051600160a060020a03163314610f4b576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b6004610f8c84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b81548110610f9657fe5b6000918252602091829020600460089092020101805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561102c5780601f106110015761010080835404028352916020019161102c565b820191906000526020600020905b81548152906001019060200180831161100f57829003601f168201915b505050505090505b92915050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d60208110156110b557600080fd5b5051600160a060020a03163314611104576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b83838383604051602001808585808284377f2e000000000000000000000000000000000000000000000000000000000000009201918252506001018383808284378083019250505094505050505060405160208183030381529060405261116a816121b7565b156111bf576040805160e560020a62461bcd02815260206004820152600a60248201527f6f72672065786973747300000000000000000000000000000000000000000000604482015290519081900360640190fd5b61123785858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8901819004810282018101909252878152925087915086908190840183828082843760009201919091525060029250829150612ace9050565b5050505050565b606080606060008060048681548110151561125557fe5b906000526020600020906008020160000160048781548110151561127557fe5b906000526020600020906008020160020160048881548110151561129557fe5b90600052602060002090600802016004016004898154811015156112b557fe5b90600052602060002090600802016006015460048a8154811015156112d657fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b5050875460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959a508994509250840190508282801561140b5780601f106113e05761010080835404028352916020019161140b565b820191906000526020600020905b8154815290600101906020018083116113ee57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156114995780601f1061146e57610100808354040283529160200191611499565b820191906000526020600020905b81548152906001019060200180831161147c57829003601f168201915b505050505092509450945094509450945091939590929450565b60606114f483838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121b792505050565b151560011461154d576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b600061158e84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b905060048181548110151561159f57fe5b90600052602060002090600802016007018054806020026020016040519081016040528092919081815260200182805480156115fa57602002820191906000526020600020905b8154815260200190600101908083116115e6575b505050505091505092915050565b6004545b90565b600060056000846040516020018082805190602001908083835b602083106116485780518252601f199092019160209182019101611629565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054600014156116a257506000611034565b60006116ad84612245565b905060056000856040516020018082805190602001908083835b602083106116e65780518252601f1990920191602091820191016116c7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205460001415801561175f57508260048281548110151561174b57fe5b906000526020600020906008020160010154145b949350505050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156117b857600080fd5b505afa1580156117cc573d6000803e3d6000fd5b505050506040513d60208110156117e257600080fd5b5051600160a060020a03163314611831576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b6040805160208181018352600082528251601f8701829004820281018201909352858352611880929087908790819084018382808284376000920191909152506001925060029150612ace9050565b6002556003555050565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156118db57600080fd5b505afa1580156118ef573d6000803e3d6000fd5b505050506040513d602081101561190557600080fd5b5051600160a060020a03163314611954576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b61199682828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061160f915050565b15156001146119ef576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b6000611a3083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b90506002600482815481101515611a4357fe5b9060005260206000209060080201600101819055507fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c600482815481101515611a8857fe5b9060005260206000209060080201600001600483815481101515611aa857fe5b9060005260206000209060080201600201600484815481101515611ac857fe5b9060005260206000209060080201600401600485815481101515611ae857fe5b906000526020600020906008020160060154600260405180806020018060200180602001868152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611b995780601f10611b6e57610100808354040283529160200191611b99565b820191906000526020600020905b815481529060010190602001808311611b7c57829003601f168201915b5050848103835288546002600019610100600184161502019091160480825260209091019089908015611c0d5780601f10611be257610100808354040283529160200191611c0d565b820191906000526020600020905b815481529060010190602001808311611bf057829003601f168201915b5050848103825287546002600019610100600184161502019091160480825260209091019088908015611c815780601f10611c5657610100808354040283529160200191611c81565b820191906000526020600020905b815481529060010190602001808311611c6457829003601f168201915b50509850505050505050505060405180910390a1505050565b6060806060600080611ce187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121b792505050565b1515611d5057868660008083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081810183528382528251908101909252918152949d509b50929950939750919550611ff9945050505050565b6000611d9188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061224592505050565b9050600481815481101515611da257fe5b9060005260206000209060080201600001600482815481101515611dc257fe5b9060005260206000209060080201600201600483815481101515611de257fe5b9060005260206000209060080201600401600484815481101515611e0257fe5b906000526020600020906008020160060154600485815481101515611e2357fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611eca5780601f10611e9f57610100808354040283529160200191611eca565b820191906000526020600020905b815481529060010190602001808311611ead57829003601f168201915b5050875460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959a5089945092508401905082828015611f585780601f10611f2d57610100808354040283529160200191611f58565b820191906000526020600020905b815481529060010190602001808311611f3b57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295995088945092508401905082828015611fe65780601f10611fbb57610100808354040283529160200191611fe6565b820191906000526020600020905b815481529060010190602001808311611fc957829003601f168201915b5050505050925095509550955095509550505b9295509295909350565b600160009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561205457600080fd5b505afa158015612068573d6000803e3d6000fd5b505050506040513d602081101561207e57600080fd5b5051600160a060020a031633146120cd576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206138a2833981519152604482015290519081900360640190fd5b81818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061210f92508391506121b79050565b15612164576040805160e560020a62461bcd02815260206004820152600a60248201527f6f72672065786973747300000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805160208181018352600082528251601f86018290048202810182019093528483526121b29290869086908190840183828082843760009201919091525060019250829150612ace9050565b505050565b600060056000836040516020018082805190602001908083835b602083106121f05780518252601f1990920191602091820191016121d1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054600014159050919050565b6000600160056000846040516020018082805190602001908083835b602083106122805780518252601f199092019160209182019101612261565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b6122dd81600261160f565b15156001146123205760405160e560020a62461bcd0281526004018080602001828103825260348152602001806138e96034913960400191505060405180910390fd5b600061232b82612245565b9050600360048281548110151561233e57fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561238357fe5b90600052602060002090600802016000016004838154811015156123a357fe5b90600052602060002090600802016002016004848154811015156123c357fe5b90600052602060002090600802016004016004858154811015156123e357fe5b9060005260206000209060080201600601546003604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124945780601f1061246957610100808354040283529160200191612494565b820191906000526020600020905b81548152906001019060200180831161247757829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156125085780601f106124dd57610100808354040283529160200191612508565b820191906000526020600020905b8154815290600101906020018083116124eb57829003601f168201915b505084810382528754600260001961010060018416150201909116048082526020909101908890801561257c5780601f106125515761010080835404028352916020019161257c565b820191906000526020600020905b81548152906001019060200180831161255f57829003601f168201915b50509850505050505050505060405180910390a15050565b61259f81600461160f565b15156001146125f8576040805160e560020a62461bcd02815260206004820152601a60248201527f6f7267206e6f7420696e2073757370656e646564207374617465000000000000604482015290519081900360640190fd5b600061260382612245565b9050600560048281548110151561261657fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561265b57fe5b906000526020600020906008020160000160048381548110151561267b57fe5b906000526020600020906008020160020160048481548110151561269b57fe5b90600052602060002090600802016004016004858154811015156126bb57fe5b9060005260206000209060080201600601546005604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124945780601f1061246957610100808354040283529160200191612494565b61274c81600361160f565b15156001146127a5576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b60006127b082612245565b9050600480828154811015156127c257fe5b9060005260206000209060080201600101819055507f73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d9660048281548110151561280757fe5b906000526020600020906008020160000160048381548110151561282757fe5b906000526020600020906008020160020160048481548110151561284757fe5b906000526020600020906008020160040160048581548110151561286757fe5b600091825260209182902060066008909202010154604080516060810183905260808082528754600260001961010060018416150201909116049082018190529293909283929183019183019060a0840190899080156129085780601f106128dd57610100808354040283529160200191612908565b820191906000526020600020905b8154815290600101906020018083116128eb57829003601f168201915b505084810383528754600260001961010060018416150201909116048082526020909101908890801561297c5780601f106129515761010080835404028352916020019161297c565b820191906000526020600020905b81548152906001019060200180831161295f57829003601f168201915b50508481038252865460026000196101006001841615020190911604808252602090910190879080156129f05780601f106129c5576101008083540402835291602001916129f0565b820191906000526020600020905b8154815290600101906020018083116129d357829003601f168201915b505097505050505050505060405180910390a15050565b612a1281600561160f565b1515600114612a6b576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b6000612a7682612245565b90506002600482815481101515612a8957fe5b9060005260206000209060080201600101819055507f882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f60048281548110151561280757fe5b600080806001851415612b5057856040516020018082805190602001908083835b60208310612b0e5780518252601f199092019160209182019101612aef565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209150612ca8565b866040516020018082805190602001908083835b60208310612b835780518252601f199092019160209182019101612b64565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120925086866040516020018083805190602001908083835b60208310612bf45780518252601f199092019160209182019101612bd5565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b60208310612c695780518252601f199092019160209182019101612c4a565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040528051906020012091505b600680546001908101918290556000848152600560205260408120929092556004805491612cd89190830161361c565b90508560011415612d9d5785600482815481101515612cf357fe5b9060005260206000209060080201600601819055506000600482815481101515612d1957fe5b90600052602060002090600802016005018190555086600482815481101515612d3e57fe5b90600052602060002090600802016003019080519060200190612d62929190613648565b5086600482815481101515612d7357fe5b90600052602060002090600802016004019080519060200190612d97929190613648565b506130fa565b600084815260056020526040902054600354600480546000199093019450909184908110612dc757fe5b600091825260209091206007600890920201015410612e30576040805160e560020a62461bcd02815260206004820152601660248201527f62726561647468206c6576656c20657863656564656400000000000000000000604482015290519081900360640190fd5b6002546004805484908110612e4157fe5b906000526020600020906008020160060154101515612eaa576040805160e560020a62461bcd02815260206004820152601460248201527f6465707468206c6576656c206578636565646564000000000000000000000000604482015290519081900360640190fd5b6004805483908110612eb857fe5b906000526020600020906008020160060154600101600482815481101515612edc57fe5b90600052602060002090600802016006018190555081600482815481101515612f0157fe5b60009182526020909120600560089092020101556004805483908110612f2357fe5b9060005260206000209060080201600401600482815481101515612f4357fe5b90600052602060002090600802016004019080546001816001161561010002031660029004612f739291906136c6565b506000600483815481101515612f8557fe5b90600052602060002090600802016007018054809190600101612fa8919061373b565b905081600484815481101515612fba57fe5b906000526020600020906008020160070182815481101515612fd857fe5b906000526020600020018190555088886040516020018083805190602001908083835b6020831061301a5780518252601f199092019160209182019101612ffb565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b6020831061308f5780518252601f199092019160209182019101613070565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526004838154811015156130d357fe5b906000526020600020906008020160030190805190602001906130f7929190613648565b50505b8660048281548110151561310a57fe5b9060005260206000209060080201600001908051906020019061312e929190613648565b508760048281548110151561313f57fe5b90600052602060002090600802016002019080519060200190613163929190613648565b508460048281548110151561317457fe5b90600052602060002090600802016001018190555084600114156133d4577f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b6004828154811015156131c257fe5b90600052602060002090600802016000016004838154811015156131e257fe5b906000526020600020906008020160020160048481548110151561320257fe5b906000526020600020906008020160040160048581548110151561322257fe5b9060005260206000209060080201600601546001604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132d35780601f106132a8576101008083540402835291602001916132d3565b820191906000526020600020905b8154815290600101906020018083116132b657829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156133475780601f1061331c57610100808354040283529160200191613347565b820191906000526020600020905b81548152906001019060200180831161332a57829003601f168201915b50508481038252875460026000196101006001841615020190911604808252602090910190889080156133bb5780601f10613390576101008083540402835291602001916133bb565b820191906000526020600020905b81548152906001019060200180831161339e57829003601f168201915b50509850505050505050505060405180910390a1613612565b7fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c60048281548110151561340457fe5b906000526020600020906008020160000160048381548110151561342457fe5b906000526020600020906008020160020160048481548110151561344457fe5b906000526020600020906008020160040160048581548110151561346457fe5b9060005260206000209060080201600601546002604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156135155780601f106134ea57610100808354040283529160200191613515565b820191906000526020600020905b8154815290600101906020018083116134f857829003601f168201915b50508481038352885460026000196101006001841615020190911604808252602090910190899080156135895780601f1061355e57610100808354040283529160200191613589565b820191906000526020600020905b81548152906001019060200180831161356c57829003601f168201915b50508481038252875460026000196101006001841615020190911604808252602090910190889080156135fd5780601f106135d2576101008083540402835291602001916135fd565b820191906000526020600020905b8154815290600101906020018083116135e057829003601f168201915b50509850505050505050505060405180910390a15b5050505050505050565b8154818355818111156121b2576008028160080283600052602060002091820191016121b2919061375f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061368957805160ff19168380011785556136b6565b828001600101855582156136b6579182015b828111156136b657825182559160200191906001019061369b565b506136c29291506137d6565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106136ff57805485556136b6565b828001600101855582156136b657600052602060002091601f016020900482015b828111156136b6578254825591600101919060010190613720565b8154818355818111156121b2576000838152602090206121b29181019083016137d6565b61160c91905b808211156136c257600061377982826137f0565b600182016000905560028201600061379191906137f0565b61379f6003830160006137f0565b6137ad6004830160006137f0565b600582016000905560068201600090556007820160006137cd9190613837565b50600801613765565b61160c91905b808211156136c257600081556001016137dc565b50805460018160011615610100020316600290046000825580601f106138165750613834565b601f01602090049060005260206000209081019061383491906137d6565b50565b508054600082559060005260206000209081019061383491906137d656fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f7765646e6f742061206d6173746572206f72672e206f7065726174696f6e206e6f7420616c6c6f776564696e76616c69642063616c6c65720000000000000000000000000000000000006f72672073746174757320646f6573206e6f7420616c6c6f7720746865206f7065726174696f6e6f7267206e6f7420696e20617070726f766564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e65a165627a7a72305820636521eff728ddd6a767c58880379d17a08e7f7bd4dd62734705f6d9456562900029 \ No newline at end of file +60806040526000600160146101000a81548160ff02191690831515021790555060046002556004600355600060065534801561003a57600080fd5b50604051602080620048978339810180604052602081101561005b57600080fd5b810190808051906020019092919050505080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506147d980620000be6000396000f3fe608060405234801561001057600080fd5b50600436106100ec576000357c0100000000000000000000000000000000000000000000000000000000900480637755ebdd116100a9578063e302831611610083578063e3028316146107ae578063f4d6d9f514610827578063f9953de5146109ff578063ffe40d1d14610a78576100ec565b80637755ebdd146106265780638c8642df146106445780639e58eb9f14610721576100ec565b80630cc27493146100f157806314f775f914610188578063177c8d8a1461020b5780631f953480146102fd5780635c4f32ee146103cb5780635e99f6e514610558575b600080fd5b6101726004803603604081101561010757600080fd5b810190808035906020019064010000000081111561012457600080fd5b82018360208201111561013657600080fd5b8035906020019184600183028401116401000000008311171561015857600080fd5b909192939192939080359060200190929190505050610b4b565b6040518082815260200191505060405180910390f35b6102096004803603604081101561019e57600080fd5b81019080803590602001906401000000008111156101bb57600080fd5b8201836020820111156101cd57600080fd5b803590602001918460018302840111640100000000831117156101ef57600080fd5b909192939192939080359060200190929190505050611038565b005b6102826004803603602081101561022157600080fd5b810190808035906020019064010000000081111561023e57600080fd5b82018360208201111561025057600080fd5b8035906020019184600183028401116401000000008311171561027257600080fd5b9091929391929390505050611311565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102c25780820151818401526020810190506102a7565b50505050905090810190601f1680156102ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c96004803603604081101561031357600080fd5b810190808035906020019064010000000081111561033057600080fd5b82018360208201111561034257600080fd5b8035906020019184600183028401116401000000008311171561036457600080fd5b90919293919293908035906020019064010000000081111561038557600080fd5b82018360208201111561039757600080fd5b803590602001918460018302840111640100000000831117156103b957600080fd5b9091929391929390505050611581565b005b6103f7600480360360208110156103e157600080fd5b8101908080359060200190929190505050611864565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b8381101561044b578082015181840152602081019050610430565b50505050905090810190601f1680156104785780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b838110156104b1578082015181840152602081019050610496565b50505050905090810190601f1680156104de5780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b838110156105175780820151818401526020810190506104fc565b50505050905090810190601f1680156105445780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b6105cf6004803603602081101561056e57600080fd5b810190808035906020019064010000000081111561058b57600080fd5b82018360208201111561059d57600080fd5b803590602001918460018302840111640100000000831117156105bf57600080fd5b9091929391929390505050611af5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106125780820151818401526020810190506105f7565b505050509050019250505060405180910390f35b61062e611c88565b6040518082815260200191505060405180910390f35b6107076004803603604081101561065a57600080fd5b810190808035906020019064010000000081111561067757600080fd5b82018360208201111561068957600080fd5b803590602001918460018302840111640100000000831117156106ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611c95565b604051808215151515815260200191505060405180910390f35b6107ac6004803603606081101561073757600080fd5b810190808035906020019064010000000081111561075457600080fd5b82018360208201111561076657600080fd5b8035906020019184600183028401116401000000008311171561078857600080fd5b90919293919293908035906020019092919080359060200190929190505050611dfb565b005b610825600480360360208110156107c457600080fd5b81019080803590602001906401000000008111156107e157600080fd5b8201836020820111156107f357600080fd5b8035906020019184600183028401116401000000008311171561081557600080fd5b9091929391929390505050611fd2565b005b61089e6004803603602081101561083d57600080fd5b810190808035906020019064010000000081111561085a57600080fd5b82018360208201111561086c57600080fd5b8035906020019184600183028401116401000000008311171561088e57600080fd5b90919293919293905050506124d4565b60405180806020018060200180602001868152602001858152602001848103845289818151815260200191508051906020019080838360005b838110156108f25780820151818401526020810190506108d7565b50505050905090810190601f16801561091f5780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b8381101561095857808201518184015260208101905061093d565b50505050905090810190601f1680156109855780820380516001836020036101000a031916815260200191505b50848103825287818151815260200191508051906020019080838360005b838110156109be5780820151818401526020810190506109a3565b50505050905090810190601f1680156109eb5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b610a7660048036036020811015610a1557600080fd5b8101908080359060200190640100000000811115610a3257600080fd5b820183602082011115610a4457600080fd5b80359060200191846001830284011164010000000083111715610a6657600080fd5b9091929391929390505050612897565b005b610b3160048036036020811015610a8e57600080fd5b8101908080359060200190640100000000811115610aab57600080fd5b820183602082011115610abd57600080fd5b80359060200191846001830284011164010000000083111715610adf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612b27565b604051808215151515815260200191505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610bd157600080fd5b505afa158015610be5573d6000803e3d6000fd5b505050506040513d6020811015610bfb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515610d0082612b27565b1515141515610d77576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b6001831480610d865750600283145b1515610ddd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806147076025913960400191505060405180910390fd5b6000610e2c86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b90506001600482815481101515610e3f57fe5b906000526020600020906008020160060154141515610ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061472c6027913960400191505060405180910390fd5b6000806001861415610ec2576002915060029050610ed5565b6002861415610ed45760049150600390505b5b60011515610f2789898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084611c95565b1515141515610f81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806147536027913960400191505060405180910390fd5b6001861415610fdc57610fd788888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612c4d565b61102a565b61102988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612f48565b5b809450505050509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156110bc57600080fd5b505afa1580156110d0573d6000803e3d6000fd5b505050506040513d60208110156110e657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156111eb82612b27565b1515141515611262576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b60018214156112bd576112b884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613260565b61130b565b61130a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061356e565b5b50505050565b6060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561139757600080fd5b505afa1580156113ab573d6000803e3d6000fd5b505050506040513d60208110156113c157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60046114c384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b8154811015156114cf57fe5b90600052602060002090600802016004018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115745780601f1061154957610100808354040283529160200191611574565b820191906000526020600020905b81548152906001019060200180831161155757829003601f168201915b5050505050905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561160557600080fd5b505afa158015611619573d6000803e3d6000fd5b505050506040513d602081101561162f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b838383836040516020018085858082843780830192505050807f2e00000000000000000000000000000000000000000000000000000000000000815250600101838380828437808301925050509450505050506040516020818303038152906040526000151561175182612b27565b15151415156117c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f7267206578697374730000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61185d85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060028061387d565b5050505050565b606080606060008060048681548110151561187b57fe5b906000526020600020906008020160000160048781548110151561189b57fe5b90600052602060002090600802016002016004888154811015156118bb57fe5b90600052602060002090600802016004016004898154811015156118db57fe5b90600052602060002090600802016006015460048a8154811015156118fc57fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119a35780601f10611978576101008083540402835291602001916119a3565b820191906000526020600020905b81548152906001019060200180831161198657829003601f168201915b50505050509450838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a3f5780601f10611a1457610100808354040283529160200191611a3f565b820191906000526020600020905b815481529060010190602001808311611a2257829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611adb5780601f10611ab057610100808354040283529160200191611adb565b820191906000526020600020905b815481529060010190602001808311611abe57829003601f168201915b505050505092509450945094509450945091939590929450565b606060011515611b4884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612b27565b1515141515611bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b6000611c0e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b9050600481815481101515611c1f57fe5b9060005260206000209060080201600701805480602002602001604051908101604052809291908181526020018280548015611c7a57602002820191906000526020600020905b815481526020019060010190808311611c66575b505050505091505092915050565b6000600480549050905090565b60008060056000856040516020018082805190602001908083835b602083101515611cd55780518252602082019150602081019050602083039250611cb0565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001208152602001908152602001600020541415611d2e5760009050611df5565b6000611d3984612bba565b9050600060056000866040516020018082805190602001908083835b602083101515611d7a5780518252602082019150602081019050602083039250611d55565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205414158015611df1575082600482815481101515611ddd57fe5b906000526020600020906008020160010154145b9150505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e7f57600080fd5b505afa158015611e93573d6000803e3d6000fd5b505050506040513d6020811015611ea957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b611fbe602060405190810160405280600081525085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001600261387d565b806002819055508160038190555050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561205657600080fd5b505afa15801561206a573d6000803e3d6000fd5b505050506040513d602081101561208057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6001151561218683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001611c95565b15151415156121fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b600061224c83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b9050600260048281548110151561225f57fe5b9060005260206000209060080201600101819055507fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c6004828154811015156122a457fe5b90600052602060002090600802016000016004838154811015156122c457fe5b90600052602060002090600802016002016004848154811015156122e457fe5b906000526020600020906008020160040160048581548110151561230457fe5b9060005260206000209060080201600601546002604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123b55780601f1061238a576101008083540402835291602001916123b5565b820191906000526020600020905b81548152906001019060200180831161239857829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124385780601f1061240d57610100808354040283529160200191612438565b820191906000526020600020905b81548152906001019060200180831161241b57829003601f168201915b50508481038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156124bb5780601f10612490576101008083540402835291602001916124bb565b820191906000526020600020905b81548152906001019060200180831161249e57829003601f168201915b50509850505050505050505060405180910390a1505050565b606080606060008061252987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612b27565b15156125ba57868660008083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505092509091925060206040519081016040528060008152509190602060405190810160405280600081525091908191508090509450945094509450945061288d565b600061260988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612bba565b905060048181548110151561261a57fe5b906000526020600020906008020160000160048281548110151561263a57fe5b906000526020600020906008020160020160048381548110151561265a57fe5b906000526020600020906008020160040160048481548110151561267a57fe5b90600052602060002090600802016006015460048581548110151561269b57fe5b906000526020600020906008020160010154848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127425780601f1061271757610100808354040283529160200191612742565b820191906000526020600020905b81548152906001019060200180831161272557829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127de5780601f106127b3576101008083540402835291602001916127de565b820191906000526020600020905b8154815290600101906020018083116127c157829003601f168201915b50505050509350828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561287a5780601f1061284f5761010080835404028352916020019161287a565b820191906000526020600020905b81548152906001019060200180831161285d57829003601f168201915b5050505050925095509550955095509550505b9295509295909350565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561291b57600080fd5b505afa15801561292f573d6000803e3d6000fd5b505050506040513d602081101561294557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060001515612a4a82612b27565b1515141515612ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6f7267206578697374730000000000000000000000000000000000000000000081525060200191505060405180910390fd5b612b22602060405190810160405280600081525084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060018061387d565b505050565b60008060056000846040516020018082805190602001908083835b602083101515612b675780518252602082019150602081019050602083039250612b42565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081526020019081526020016000205414159050919050565b6000600160056000846040516020018082805190602001908083835b602083101515612bfb5780518252602082019150602081019050602083039250612bd6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b60011515612c5c826002611c95565b1515141515612cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061477a6034913960400191505060405180910390fd5b6000612cc182612bba565b90506003600482815481101515612cd457fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b600482815481101515612d1957fe5b9060005260206000209060080201600001600483815481101515612d3957fe5b9060005260206000209060080201600201600484815481101515612d5957fe5b9060005260206000209060080201600401600485815481101515612d7957fe5b906000526020600020906008020160060154600360405180806020018060200180602001868152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612e2a5780601f10612dff57610100808354040283529160200191612e2a565b820191906000526020600020905b815481529060010190602001808311612e0d57829003601f168201915b5050848103835288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612ead5780601f10612e8257610100808354040283529160200191612ead565b820191906000526020600020905b815481529060010190602001808311612e9057829003601f168201915b5050848103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612f305780601f10612f0557610100808354040283529160200191612f30565b820191906000526020600020905b815481529060010190602001808311612f1357829003601f168201915b50509850505050505050505060405180910390a15050565b60011515612f57826004611c95565b1515141515612fce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e2073757370656e64656420737461746500000000000081525060200191505060405180910390fd5b6000612fd982612bba565b90506005600482815481101515612fec57fe5b9060005260206000209060080201600101819055507f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b60048281548110151561303157fe5b906000526020600020906008020160000160048381548110151561305157fe5b906000526020600020906008020160020160048481548110151561307157fe5b906000526020600020906008020160040160048581548110151561309157fe5b9060005260206000209060080201600601546005604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131425780601f1061311757610100808354040283529160200191613142565b820191906000526020600020905b81548152906001019060200180831161312557829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156131c55780601f1061319a576101008083540402835291602001916131c5565b820191906000526020600020905b8154815290600101906020018083116131a857829003601f168201915b50508481038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156132485780601f1061321d57610100808354040283529160200191613248565b820191906000526020600020905b81548152906001019060200180831161322b57829003601f168201915b50509850505050505050505060405180910390a15050565b6001151561326f826003611c95565b15151415156132e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b60006132f182612bba565b90506004808281548110151561330357fe5b9060005260206000209060080201600101819055507f73ccf8d6c8385bf5347269bd59712da33183c1a5e1702494bcdb87d0f4674d9660048281548110151561334857fe5b906000526020600020906008020160000160048381548110151561336857fe5b906000526020600020906008020160020160048481548110151561338857fe5b90600052602060002090600802016004016004858154811015156133a857fe5b906000526020600020906008020160060154604051808060200180602001806020018581526020018481038452888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156134515780601f1061342657610100808354040283529160200191613451565b820191906000526020600020905b81548152906001019060200180831161343457829003601f168201915b50508481038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156134d45780601f106134a9576101008083540402835291602001916134d4565b820191906000526020600020905b8154815290600101906020018083116134b757829003601f168201915b50508481038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156135575780601f1061352c57610100808354040283529160200191613557565b820191906000526020600020905b81548152906001019060200180831161353a57829003601f168201915b505097505050505050505060405180910390a15050565b6001151561357d826005611c95565b15151415156135f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b60006135ff82612bba565b9050600260048281548110151561361257fe5b9060005260206000209060080201600101819055507f882f030c609566cd82918a97d457fd48f9cfcefd11282e2654cde3f94579c15f60048281548110151561365757fe5b906000526020600020906008020160000160048381548110151561367757fe5b906000526020600020906008020160020160048481548110151561369757fe5b90600052602060002090600802016004016004858154811015156136b757fe5b906000526020600020906008020160060154604051808060200180602001806020018581526020018481038452888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156137605780601f1061373557610100808354040283529160200191613760565b820191906000526020600020905b81548152906001019060200180831161374357829003601f168201915b50508481038352878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156137e35780601f106137b8576101008083540402835291602001916137e3565b820191906000526020600020905b8154815290600101906020018083116137c657829003601f168201915b50508481038252868181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156138665780601f1061383b57610100808354040283529160200191613866565b820191906000526020600020905b81548152906001019060200180831161384957829003601f168201915b505097505050505050505060405180910390a15050565b600080905060008090506000809050600185141561391057856040516020018082805190602001908083835b6020831015156138ce57805182526020820191506020810190506020830392506138a9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209150613a7a565b866040516020018082805190602001908083835b6020831015156139495780518252602082019150602081019050602083039250613924565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120925086866040516020018083805190602001908083835b6020831015156139c0578051825260208201915060208101905060208303925061399b565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b602083101515613a3b5780518252602082019150602081019050602083039250613a16565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040528051906020012091505b6006600081548092919060010191905055506006546005600084815260200190815260200160002081905550600060048054809190600101613abc919061448c565b90506001861415613b815785600482815481101515613ad757fe5b9060005260206000209060080201600601819055506000600482815481101515613afd57fe5b90600052602060002090600802016005018190555086600482815481101515613b2257fe5b90600052602060002090600802016003019080519060200190613b469291906144be565b5086600482815481101515613b5757fe5b90600052602060002090600802016004019080519060200190613b7b9291906144be565b50613f2e565b60016005600086815260200190815260200160002054039150600354600483815481101515613bac57fe5b906000526020600020906008020160070180549050101515613c36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f62726561647468206c6576656c2065786365656465640000000000000000000081525060200191505060405180910390fd5b600254600483815481101515613c4857fe5b906000526020600020906008020160060154101515613ccf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6465707468206c6576656c20657863656564656400000000000000000000000081525060200191505060405180910390fd5b6001600483815481101515613ce057fe5b90600052602060002090600802016006015401600482815481101515613d0257fe5b90600052602060002090600802016006018190555081600482815481101515613d2757fe5b906000526020600020906008020160050181905550600482815481101515613d4b57fe5b9060005260206000209060080201600401600482815481101515613d6b57fe5b90600052602060002090600802016004019080546001816001161561010002031660029004613d9b92919061453e565b506000600483815481101515613dad57fe5b90600052602060002090600802016007018054809190600101613dd091906145c5565b905081600484815481101515613de257fe5b906000526020600020906008020160070182815481101515613e0057fe5b906000526020600020018190555088886040516020018083805190602001908083835b602083101515613e485780518252602082019150602081019050602083039250613e23565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b602083101515613ec35780518252602082019150602081019050602083039250613e9e565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052600483815481101515613f0757fe5b90600052602060002090600802016003019080519060200190613f2b9291906144be565b50505b86600482815481101515613f3e57fe5b90600052602060002090600802016000019080519060200190613f629291906144be565b5087600482815481101515613f7357fe5b90600052602060002090600802016002019080519060200190613f979291906144be565b5084600482815481101515613fa857fe5b9060005260206000209060080201600101819055506001851415614226577f0e8b7be64e0c730234ba2cd252b227fb481d7a247ba806d1941144c535bf054b600482815481101515613ff657fe5b906000526020600020906008020160000160048381548110151561401657fe5b906000526020600020906008020160020160048481548110151561403657fe5b906000526020600020906008020160040160048581548110151561405657fe5b9060005260206000209060080201600601546001604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156141075780601f106140dc57610100808354040283529160200191614107565b820191906000526020600020905b8154815290600101906020018083116140ea57829003601f168201915b505084810383528881815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561418a5780601f1061415f5761010080835404028352916020019161418a565b820191906000526020600020905b81548152906001019060200180831161416d57829003601f168201915b505084810382528781815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561420d5780601f106141e25761010080835404028352916020019161420d565b820191906000526020600020905b8154815290600101906020018083116141f057829003601f168201915b50509850505050505050505060405180910390a1614482565b7fd705723a50859c9cc1d3953e10b8b9478820e7a62927ad3215897ed87b20591c60048281548110151561425657fe5b906000526020600020906008020160000160048381548110151561427657fe5b906000526020600020906008020160020160048481548110151561429657fe5b90600052602060002090600802016004016004858154811015156142b657fe5b9060005260206000209060080201600601546002604051808060200180602001806020018681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156143675780601f1061433c57610100808354040283529160200191614367565b820191906000526020600020905b81548152906001019060200180831161434a57829003601f168201915b50508481038352888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156143ea5780601f106143bf576101008083540402835291602001916143ea565b820191906000526020600020905b8154815290600101906020018083116143cd57829003601f168201915b505084810382528781815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561446d5780601f106144425761010080835404028352916020019161446d565b820191906000526020600020905b81548152906001019060200180831161445057829003601f168201915b50509850505050505050505060405180910390a15b5050505050505050565b8154818355818111156144b9576008028160080283600052602060002091820191016144b891906145f1565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106144ff57805160ff191683800117855561452d565b8280016001018555821561452d579182015b8281111561452c578251825591602001919060010190614511565b5b50905061453a9190614678565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061457757805485556145b4565b828001600101855582156145b457600052602060002091601f016020900482015b828111156145b3578254825591600101919060010190614598565b5b5090506145c19190614678565b5090565b8154818355818111156145ec578183600052602060002091820191016145eb9190614678565b5b505050565b61467591905b808211156146715760008082016000614610919061469d565b6001820160009055600282016000614628919061469d565b600382016000614638919061469d565b600482016000614648919061469d565b6005820160009055600682016000905560078201600061466891906146e5565b506008016145f7565b5090565b90565b61469a91905b8082111561469657600081600090555060010161467e565b5090565b90565b50805460018160011615610100020316600290046000825580601f106146c357506146e2565b601f0160209004906000526020600020908101906146e19190614678565b5b50565b50805460008255906000526020600020908101906147039190614678565b5056fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f7765646e6f742061206d6173746572206f72672e206f7065726174696f6e206e6f7420616c6c6f7765646f72672073746174757320646f6573206e6f7420616c6c6f7720746865206f7065726174696f6e6f7267206e6f7420696e20617070726f766564207374617475732e206f7065726174696f6e2063616e6e6f7420626520646f6e65a165627a7a7230582055202de511921c697cb90cc515d240ffe9d31dc9adb788a027a4ad7b6c918cf20029 \ No newline at end of file diff --git a/permission/contract/gen/PermissionsImplementation.bin b/permission/contract/gen/PermissionsImplementation.bin index f28175294..eaa1b16ec 100644 --- a/permission/contract/gen/PermissionsImplementation.bin +++ b/permission/contract/gen/PermissionsImplementation.bin @@ -1 +1 @@ -60806040526003600955600a805460ff191690553480156200002057600080fd5b5060405160c08062007583833981018060405260c08110156200004257600080fd5b508051602082015160408301516060840151608085015160a09095015160058054600160a060020a03968716600160a060020a03199182161790915560048054958716958216959095179094556001805493861693851693909317909255600080549185169184169190911790556002805494841694831694909417909355600380549290931691161790556174a580620000de6000396000f3fe608060405234801561001057600080fd5b50600436106101d35760003560e060020a90048063655a8ef511610108578063b5546564116100a6578063dbfad71111610075578063dbfad7111461119a578063f346a3a714611267578063f5ad584a146113d3578063f922f802146114e3576101d3565b8063b554656414610edc578063c3dc8e0914610f59578063cc9ba6fa14611020578063d1aa0c2014611174576101d3565b80638baa8191116100e25780638baa819114610baa5780639bd3810114610cee578063a5843f0814610da2578063a64d286014610dc5576101d3565b8063655a8ef5146109b05780636b568d7614610a775780638884304114610b2b576101d3565b8063404bf3eb116101755780634cbfa82e1161014f5780634cbfa82e146107f45780634fe57e7a146107fc57806359a260a3146108225780635ca5adbe146108e9576101d3565b8063404bf3eb1461068557806344478e79146107595780634b20f45f14610775576101d3565b80631c249912116101b15780631c2499121461044c5780633bc07dea146104cb5780633cf5f33b1461059a5780633f25c28814610617576101d3565b806304e81f1e146101d85780631b04c276146102615780631b6102201461033e575b600080fd5b61025f600480360360808110156101ee57600080fd5b810190602081018135602060020a81111561020857600080fd5b82018360208201111561021a57600080fd5b803590602001918460018302840111602060020a8311171561023b57600080fd5b9193509150600160a060020a038135811691602081013591604090910135166115b2565b005b61025f600480360360c081101561027757600080fd5b810190602081018135602060020a81111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111602060020a831117156102c457600080fd5b919390929091602081019035602060020a8111156102e157600080fd5b8201836020820111156102f357600080fd5b803590602001918460018302840111602060020a8311171561031457600080fd5b91935091508035906020810135151590604081013515159060600135600160a060020a031661181e565b61025f6004803603606081101561035457600080fd5b810190602081018135602060020a81111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460018302840111602060020a831117156103a157600080fd5b919390929091602081019035602060020a8111156103be57600080fd5b8201836020820111156103d057600080fd5b803590602001918460018302840111602060020a831117156103f157600080fd5b919390929091602081019035602060020a81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460018302840111602060020a8311171561044157600080fd5b509092509050611af9565b61025f6004803603606081101561046257600080fd5b810190602081018135602060020a81111561047c57600080fd5b82018360208201111561048e57600080fd5b803590602001918460018302840111602060020a831117156104af57600080fd5b9193509150600160a060020a0381358116916020013516611c3b565b61025f600480360360808110156104e157600080fd5b810190602081018135602060020a8111156104fb57600080fd5b82018360208201111561050d57600080fd5b803590602001918460018302840111602060020a8311171561052e57600080fd5b919390929091602081019035602060020a81111561054b57600080fd5b82018360208201111561055d57600080fd5b803590602001918460018302840111602060020a8311171561057e57600080fd5b9193509150600160a060020a0381358116916020013516611f53565b61025f600480360360608110156105b057600080fd5b810190602081018135602060020a8111156105ca57600080fd5b8201836020820111156105dc57600080fd5b803590602001918460018302840111602060020a831117156105fd57600080fd5b919350915080359060200135600160a060020a0316612534565b61025f6004803603602081101561062d57600080fd5b810190602081018135602060020a81111561064757600080fd5b82018360208201111561065957600080fd5b803590602001918460018302840111602060020a8311171561067a57600080fd5b509092509050612855565b61025f6004803603608081101561069b57600080fd5b810190602081018135602060020a8111156106b557600080fd5b8201836020820111156106c757600080fd5b803590602001918460018302840111602060020a831117156106e857600080fd5b91939092600160a060020a0383351692604081019060200135602060020a81111561071257600080fd5b82018360208201111561072457600080fd5b803590602001918460018302840111602060020a8311171561074557600080fd5b919350915035600160a060020a0316612a82565b610761612e62565b604080519115158252519081900360200190f35b61025f6004803603606081101561078b57600080fd5b810190602081018135602060020a8111156107a557600080fd5b8201836020820111156107b757600080fd5b803590602001918460018302840111602060020a831117156107d857600080fd5b9193509150600160a060020a0381358116916020013516612f9a565b6107616131fc565b61025f6004803603602081101561081257600080fd5b5035600160a060020a0316613206565b61025f6004803603606081101561083857600080fd5b810190602081018135602060020a81111561085257600080fd5b82018360208201111561086457600080fd5b803590602001918460018302840111602060020a8311171561088557600080fd5b919390929091602081019035602060020a8111156108a257600080fd5b8201836020820111156108b457600080fd5b803590602001918460018302840111602060020a831117156108d557600080fd5b919350915035600160a060020a0316613540565b61025f600480360360608110156108ff57600080fd5b810190602081018135602060020a81111561091957600080fd5b82018360208201111561092b57600080fd5b803590602001918460018302840111602060020a8311171561094c57600080fd5b919390929091602081019035602060020a81111561096957600080fd5b82018360208201111561097b57600080fd5b803590602001918460018302840111602060020a8311171561099c57600080fd5b919350915035600160a060020a03166137d5565b61025f600480360360608110156109c657600080fd5b810190602081018135602060020a8111156109e057600080fd5b8201836020820111156109f257600080fd5b803590602001918460018302840111602060020a83111715610a1357600080fd5b919390929091602081019035602060020a811115610a3057600080fd5b820183602082011115610a4257600080fd5b803590602001918460018302840111602060020a83111715610a6357600080fd5b919350915035600160a060020a0316613cb0565b61076160048036036040811015610a8d57600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610ab757600080fd5b820183602082011115610ac957600080fd5b803590602001918460018302840111602060020a83111715610aea57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613f2d945050505050565b61025f60048036036060811015610b4157600080fd5b810190602081018135602060020a811115610b5b57600080fd5b820183602082011115610b6d57600080fd5b803590602001918460018302840111602060020a83111715610b8e57600080fd5b9193509150600160a060020a0381358116916020013516614031565b61025f60048036036080811015610bc057600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610bea57600080fd5b820183602082011115610bfc57600080fd5b803590602001918460018302840111602060020a83111715610c1d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050602060020a811115610c6f57600080fd5b820183602082011115610c8157600080fd5b803590602001918460018302840111602060020a83111715610ca257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050509035600160a060020a031691506144b59050565b61076160048036036040811015610d0457600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610d2e57600080fd5b820183602082011115610d4057600080fd5b803590602001918460018302840111602060020a83111715610d6157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506149df945050505050565b61025f60048036036040811015610db857600080fd5b5080359060200135614db3565b61025f60048036036080811015610ddb57600080fd5b810190602081018135602060020a811115610df557600080fd5b820183602082011115610e0757600080fd5b803590602001918460018302840111602060020a83111715610e2857600080fd5b919390929091602081019035602060020a811115610e4557600080fd5b820183602082011115610e5757600080fd5b803590602001918460018302840111602060020a83111715610e7857600080fd5b919390929091602081019035602060020a811115610e9557600080fd5b820183602082011115610ea757600080fd5b803590602001918460018302840111602060020a83111715610ec857600080fd5b919350915035600160a060020a03166152b3565b61025f60048036036060811015610ef257600080fd5b810190602081018135602060020a811115610f0c57600080fd5b820183602082011115610f1e57600080fd5b803590602001918460018302840111602060020a83111715610f3f57600080fd5b919350915080359060200135600160a060020a0316615729565b61025f60048036036060811015610f6f57600080fd5b810190602081018135602060020a811115610f8957600080fd5b820183602082011115610f9b57600080fd5b803590602001918460018302840111602060020a83111715610fbc57600080fd5b919390929091602081019035602060020a811115610fd957600080fd5b820183602082011115610feb57600080fd5b803590602001918460018302840111602060020a8311171561100c57600080fd5b919350915035600160a060020a0316615a9b565b611028615dd0565b604080518215156060820152608080825286519082015285519091829160208084019284019160a08501918a019080838360005b8381101561107457818101518382015260200161105c565b50505050905090810190601f1680156110a15780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b838110156110d45781810151838201526020016110bc565b50505050905090810190601f1680156111015780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b8381101561113457818101518382015260200161111c565b50505050905090810190601f1680156111615780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b6107616004803603602081101561118a57600080fd5b5035600160a060020a0316615fa3565b61025f600480360360808110156111b057600080fd5b810190602081018135602060020a8111156111ca57600080fd5b8201836020820111156111dc57600080fd5b803590602001918460018302840111602060020a831117156111fd57600080fd5b919390929091602081019035602060020a81111561121a57600080fd5b82018360208201111561122c57600080fd5b803590602001918460018302840111602060020a8311171561124d57600080fd5b919350915080359060200135600160a060020a03166161bd565b6112d56004803603602081101561127d57600080fd5b810190602081018135602060020a81111561129757600080fd5b8201836020820111156112a957600080fd5b803590602001918460018302840111602060020a831117156112ca57600080fd5b50909250905061642e565b60405180806020018060200185600160a060020a0316600160a060020a03168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561133457818101518382015260200161131c565b50505050905090810190601f1680156113615780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561139457818101518382015260200161137c565b50505050905090810190601f1680156113c15780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61025f600480360360808110156113e957600080fd5b810190602081018135602060020a81111561140357600080fd5b82018360208201111561141557600080fd5b803590602001918460018302840111602060020a8311171561143657600080fd5b919390929091602081019035602060020a81111561145357600080fd5b82018360208201111561146557600080fd5b803590602001918460018302840111602060020a8311171561148657600080fd5b919390929091602081019035602060020a8111156114a357600080fd5b8201836020820111156114b557600080fd5b803590602001918460018302840111602060020a831117156114d657600080fd5b91935091503515156165ad565b61025f600480360360808110156114f957600080fd5b810190602081018135602060020a81111561151357600080fd5b82018360208201111561152557600080fd5b803590602001918460018302840111602060020a8311171561154657600080fd5b919390929091602081019035602060020a81111561156357600080fd5b82018360208201111561157557600080fd5b803590602001918460018302840111602060020a8311171561159657600080fd5b9193509150600160a060020a038135811691602001351661669c565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561160357600080fd5b505afa158015611617573d6000803e3d6000fd5b505050506040513d602081101561162d57600080fd5b5051600160a060020a031633146116785760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116bc92508491508390506149df565b15156001146116ff5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b836001148061170e5750836002145b806117195750836003145b15156117595760405160e560020a62461bcd0281526004018080602001828103825260258152602001806173e56025913960400191505060405180910390fd5b6000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a03878116602483015260448201879052606060048301908152606483018a90529216916384b7a84a918a918a918a918a918190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117fd57600080fd5b505af1158015611811573d6000803e3d6000fd5b5050505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561186f57600080fd5b505afa158015611883573d6000803e3d6000fd5b505050506040513d602081101561189957600080fd5b5051600160a060020a031633146118e45760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119269250839150616c8a9050565b151560011461196d576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b8187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b192508491508390506149df565b15156001146119f45760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b6001546040517f7b713579000000000000000000000000000000000000000000000000000000008152604481018990528715156064820152861515608482015260a06004820190815260a482018d9052600160a060020a0390921691637b713579918e918e918e918e918e918e918e91908190602481019060c4018a8a80828437600083820152601f01601f191690910184810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050505050505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611b4a57600080fd5b505afa158015611b5e573d6000803e3d6000fd5b505050506040513d6020811015611b7457600080fd5b5051600160a060020a03163314611bbf5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615611c0b576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b611c1760068888617316565b50611c2460078686617316565b50611c3160088484617316565b5050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611c8c57600080fd5b505afa158015611ca0573d6000803e3d6000fd5b505050506040513d6020811015611cb657600080fd5b5051600160a060020a03163314611d015760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b80611d0b81615fa3565b1515600114611d4e5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a03858116602483015260046044830181905260608382019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611df657600080fd5b505af1158015611e0a573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d028152600160a060020a03888116606483015260066084830181905260a060048401908152815460001960018216156101000201169590950460a4840181905291909316955063e98ac22d945091928a928a928a928692909182916024820191604481019160c49091019086908015611ed75780601f10611eac57610100808354040283529160200191611ed7565b820191906000526020600020905b815481529060010190602001808311611eba57829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015611f3457600080fd5b505af1158015611f48573d6000803e3d6000fd5b505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611fa457600080fd5b505afa158015611fb8573d6000803e3d6000fd5b505050506040513d6020811015611fce57600080fd5b5051600160a060020a031633146120195760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061202381615fa3565b15156001146120665760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6120a887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250616d8f915050565b1515600114612101576040805160e560020a62461bcd02815260206004820152601260248201527f4e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261219b939092909183018282801561218e5780601f106121635761010080835404028352916020019161218e565b820191906000526020600020905b81548152906001019060200180831161217157829003601f168201915b5050505050836001616e12565b1561252b57600480546040517fe3028316000000000000000000000000000000000000000000000000000000008152602092810192835260248101899052600160a060020a039091169163e3028316918a918a918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561223057600080fd5b505af1158015612244573d6000803e3d6000fd5b5050600180546009546040517f7b71357900000000000000000000000000000000000000000000000000000000815260448101829052606481018490526084810184905260a0600482019081526008805460026000198289161561010002019091160460a48401819052600160a060020a039095169750637b7135799650948e948e94939192839290918291602481019160c4909101908a90801561232a5780601f106122ff5761010080835404028352916020019161232a565b820191906000526020600020905b81548152906001019060200180831161230d57829003601f168201915b50508381038252878152602001888880828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b15801561237857600080fd5b505af115801561238c573d6000803e3d6000fd5b5050600354604080517f86bc36520000000000000000000000000000000000000000000000000000000081526004810191825260448101899052600160a060020a0390921693506386bc36529250889188918c918c919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561244f57600080fd5b505af1158015612463573d6000803e3d6000fd5b5050600054604080517fc214e5e5000000000000000000000000000000000000000000000000000000008152600160a060020a03888116602483015260048201928352604482018c9052909216935063c214e5e592508a918a9188918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561250157600080fd5b505af1158015612515573d6000803e3d6000fd5b505050506040513d6020811015611f4857600080fd5b50505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561258557600080fd5b505afa158015612599573d6000803e3d6000fd5b505050506040513d60208110156125af57600080fd5b5051600160a060020a031633146125fa5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061260481615fa3565b15156001146126475760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60048054604080517f0cc274930000000000000000000000000000000000000000000000000000000081526024810187905292830190815260448301879052600092600160a060020a0390921691630cc27493918991899189918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156126e357600080fd5b505af11580156126f7573d6000803e3d6000fd5b505050506040513d602081101561270d57600080fd5b50516002805460405160e060020a63e98ac22d0281526000606482018190526084820185905260a0600483019081526006805460001960018216156101000201169590950460a48401819052959650600160a060020a039093169463e98ac22d94938c938c939289929182916024820191604481019160c4909101908a9080156127d85780601f106127ad576101008083540402835291602001916127d8565b820191906000526020600020905b8154815290600101906020018083116127bb57829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b15801561283557600080fd5b505af1158015612849573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156128a657600080fd5b505afa1580156128ba573d6000803e3d6000fd5b505050506040513d60208110156128d057600080fd5b5051600160a060020a0316331461291b5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615612967576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b600354604080517fe3b09d840000000000000000000000000000000000000000000000000000000081526004810191825260448101859052600160a060020a039092169163e3b09d84918691869160069181906024810190606401868680828437600083820152601f01601f191690910184810383528554600260001961010060018416150201909116048082526020909101915085908015612a4b5780601f10612a2057610100808354040283529160200191612a4b565b820191906000526020600020905b815481529060010190602001808311612a2e57829003601f168201915b505095505050505050600060405180830381600087803b158015612a6e57600080fd5b505af115801561252b573d6000803e3d6000fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612ad357600080fd5b505afa158015612ae7573d6000803e3d6000fd5b505050506040513d6020811015612afd57600080fd5b5051600160a060020a03163314612b485760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b8a9250839150616f229050565b1515600114612be3576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b81612bed81615fa3565b1515600114612c305760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d938b938e938e938d938d9391929190604481019060a401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612d0957600080fd5b505af1158015612d1d573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d028152600160a060020a038b8116606483015260046084830181905260a08382019081526006805460001960018216156101000201169690960460a4850181905292909416965063e98ac22d95508e938e938e9382916024810191604482019160c401908a908015612de35780601f10612db857610100808354040283529160200191612de3565b820191906000526020600020905b815481529060010190602001808311612dc657829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015612e4057600080fd5b505af1158015612e54573d6000803e3d6000fd5b505050505050505050505050565b600554604080517fe572515c0000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163e572515c916004808301926020929190829003018186803b158015612ec057600080fd5b505afa158015612ed4573d6000803e3d6000fd5b505050506040513d6020811015612eea57600080fd5b5051600160a060020a03163314612f355760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615612f81576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b600a805460ff19166001179081905560ff1691505b5090565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612feb57600080fd5b505afa158015612fff573d6000803e3d6000fd5b505050506040513d602081101561301557600080fd5b5051600160a060020a031633146130605760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061306a81615fa3565b15156001146130ad5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152613147939092909183018282801561313a5780601f1061310f5761010080835404028352916020019161313a565b820191906000526020600020905b81548152906001019060200180831161311d57829003601f168201915b5050505050836006616e12565b156131f5576000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660248301526005604483018190526060600484019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611f3457600080fd5b5050505050565b600a5460ff165b90565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561325757600080fd5b505afa15801561326b573d6000803e3d6000fd5b505050506040513d602081101561328157600080fd5b5051600160a060020a031633146132cc5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615613318576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526133b293909290918301828280156133a55780601f1061337a576101008083540402835291602001916133a5565b820191906000526020600020905b81548152906001019060200180831161338857829003601f168201915b5050505050836001616fe7565b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830190815260026064840181905260806024850190815260068054600019600182161561010002011683900460848701819052949096169563e3483a9d95899591946007949390929091604481019160a4909101908790801561348c5780601f106134615761010080835404028352916020019161348c565b820191906000526020600020905b81548152906001019060200180831161346f57829003601f168201915b50508381038252855460026000196101006001841615020190911604808252602090910190869080156135005780601f106134d557610100808354040283529160200191613500565b820191906000526020600020905b8154815290600101906020018083116134e357829003601f168201915b50509650505050505050600060405180830381600087803b15801561352457600080fd5b505af1158015613538573d6000803e3d6000fd5b505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561359157600080fd5b505afa1580156135a5573d6000803e3d6000fd5b505050506040513d60208110156135bb57600080fd5b5051600160a060020a031633146136065760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506136489250839150616c8a9050565b151560011461368f576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b8186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506136d392508491508390506149df565b15156001146137165760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b600354604080517f3f5e1a450000000000000000000000000000000000000000000000000000000081526004810191825260448101889052600160a060020a0390921691633f5e1a4591899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612e4057600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561382657600080fd5b505afa15801561383a573d6000803e3d6000fd5b505050506040513d602081101561385057600080fd5b5051600160a060020a0316331461389b5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506138dd9250839150616c8a9050565b1515600114613924576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b8184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061396892508491508390506149df565b15156001146139ab5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b6040805160208082019081526007805460026000196101006001841615020190911604938301849052929091829160609091019084908015613a2e5780601f10613a0357610100808354040283529160200191613a2e565b820191906000526020600020905b815481529060010190602001808311613a1157829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015613b9b57506040805160208082019081526008805460026000196101006001841615020190911604938301849052929091829160609091019084908015613b295780601f10613afe57610100808354040283529160200191613b29565b820191906000526020600020905b815481529060010190602001808311613b0c57829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014155b1515613bf1576040805160e560020a62461bcd02815260206004820152601d60248201527f61646d696e20726f6c65732063616e6e6f742062652072656d6f766564000000604482015290519081900360640190fd5b600154604080517fa634301200000000000000000000000000000000000000000000000000000000815260048101918252604481018a9052600160a060020a039092169163a6343012918b918b918b918b919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612e4057600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015613d0157600080fd5b505afa158015613d15573d6000803e3d6000fd5b505050506040513d6020811015613d2b57600080fd5b5051600160a060020a03163314613d765760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b80613d8081615fa3565b1515600114613dc35760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152613e5d9390929091830182828015613e505780601f10613e2557610100808354040283529160200191613e50565b820191906000526020600020905b815481529060010190602001808311613e3357829003601f168201915b5050505050836005616e12565b15613538576003546040517f0cc5014600000000000000000000000000000000000000000000000000000000815260056044820181905260606004830190815260648301879052600160a060020a0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561283557600080fd5b60008054604080517f6b568d76000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301908152602483019384528651604484015286519190941693636b568d76938893889360649091019060208501908083838c5b83811015613fb1578181015183820152602001613f99565b50505050905090810190601f168015613fde5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015613ffc57600080fd5b505afa158015614010573d6000803e3d6000fd5b505050506040513d602081101561402657600080fd5b505190505b92915050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561408257600080fd5b505afa158015614096573d6000803e3d6000fd5b505050506040513d60208110156140ac57600080fd5b5051600160a060020a031633146140f75760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8061410181615fa3565b15156001146141445760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526141de93909290918301828280156141d15780601f106141a6576101008083540402835291602001916141d1565b820191906000526020600020905b8154815290600101906020018083116141b457829003601f168201915b5050505050836004616e12565b156131f557600080546040517f1d09dc93000000000000000000000000000000000000000000000000000000008152602060048201908152602482018890528392600160a060020a031691631d09dc93918a918a91908190604401848480828437600081840152601f19601f82011690508083019250505093505050506040805180830381600087803b15801561427457600080fd5b505af1158015614288573d6000803e3d6000fd5b505050506040513d604081101561429e57600080fd5b5080516020909101519092509050811561434c5760068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261434c939092909183018282801561433f5780601f106143145761010080835404028352916020019161433f565b820191906000526020600020905b81548152906001019060200180831161432257829003601f168201915b5050505050826000616fe7565b60008054604080517fc214e5e5000000000000000000000000000000000000000000000000000000008152600160a060020a03898116602483015260048201928352604482018b90529092169163c214e5e5918b918b918b918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156143e757600080fd5b505af11580156143fb573d6000803e3d6000fd5b505050506040513d602081101561441157600080fd5b505190508015611c315760068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152611c3193909290918301828280156144a85780601f1061447d576101008083540402835291602001916144a8565b820191906000526020600020905b81548152906001019060200180831161448b57829003601f168201915b5050505050876001616fe7565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561450657600080fd5b505afa15801561451a573d6000803e3d6000fd5b505050506040513d602081101561453057600080fd5b5051600160a060020a0316331461457b5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b808361458782826149df565b15156001146145ca5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b846145d481616c8a565b151560011461461b576040805160e560020a62461bcd02815260206004820152601a60248201526000805160206173a5833981519152604482015290519081900360640190fd5b6146258787613f2d565b151560011461467e576040805160e560020a62461bcd02815260206004820152601d60248201527f6f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b61468885876171a9565b15156001146146e1576040805160e560020a62461bcd02815260206004820152601460248201527f726f6c6520646f6573206e6f7420657869737473000000000000000000000000604482015290519081900360640190fd5b600154600090600160a060020a031663be322e548789614700816171c4565b6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561475757818101518382015260200161473f565b50505050905090810190601f1680156147845780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156147b757818101518382015260200161479f565b50505050905090810190601f1680156147e45780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b838110156148175781810151838201526020016147ff565b50505050905090810190601f1680156148445780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561486557600080fd5b505afa158015614879573d6000803e3d6000fd5b505050506040513d602081101561488f57600080fd5b5051600080546040517f143a5604000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830190815285151560648401526080602484019081528d5160848501528d51969750919093169463143a5604948e948e948e948a9492939092604483019260a401916020890191908190849084905b8381101561492f578181015183820152602001614917565b50505050905090810190601f16801561495c5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561498f578181015183820152602001614977565b50505050905090810190601f1680156149bc5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015612e4057600080fd5b60008054600160a060020a031663e8b42bf484846149fc816171c4565b6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015614a67578181015183820152602001614a4f565b50505050905090810190601f168015614a945780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015614ac7578181015183820152602001614aaf565b50505050905090810190601f168015614af45780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b158015614b1457600080fd5b505afa158015614b28573d6000803e3d6000fd5b505050506040513d6020811015614b3e57600080fd5b505115614b4d5750600161402b565b60015460008054604080517f81d66b23000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015291519482169463be322e549493909216926381d66b2392602480840193829003018186803b158015614bbc57600080fd5b505afa158015614bd0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015614bf957600080fd5b810190808051602060020a811115614c1057600080fd5b82016020810184811115614c2357600080fd5b8151602060020a811182820187101715614c3c57600080fd5b505092919050505084614c4e866171c4565b6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015614ca5578181015183820152602001614c8d565b50505050905090810190601f168015614cd25780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015614d05578181015183820152602001614ced565b50505050905090810190601f168015614d325780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015614d65578181015183820152602001614d4d565b50505050905090810190601f168015614d925780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b158015613ffc57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015614e0457600080fd5b505afa158015614e18573d6000803e3d6000fd5b505050506040513d6020811015614e2e57600080fd5b5051600160a060020a03163314614e795760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460009060ff1615614ec5576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b600480546040517f9e58eb9f00000000000000000000000000000000000000000000000000000000815260248101869052604481018590526060928101928352600680546002600019600183161561010002019091160460648301819052600160a060020a0390931693639e58eb9f9391928892889291829160849091019086908015614f935780601f10614f6857610100808354040283529160200191614f93565b820191906000526020600020905b815481529060010190602001808311614f7657829003601f168201915b5050945050505050600060405180830381600087803b158015614fb557600080fd5b505af1158015614fc9573d6000803e3d6000fd5b5050600180546009546040517f7b71357900000000000000000000000000000000000000000000000000000000815260448101829052606481018490526084810184905260a0600482019081526007805460026000198289161561010002019091160460a48401819052600160a060020a039095169750637b71357996509460069490928392918291602481019160c490910190899080156150ac5780601f10615081576101008083540402835291602001916150ac565b820191906000526020600020905b81548152906001019060200180831161508f57829003601f168201915b50508381038252875460026000196101006001841615020190911604808252602090910190889080156151205780601f106150f557610100808354040283529160200191615120565b820191906000526020600020905b81548152906001019060200180831161510357829003601f168201915b5050975050505050505050600060405180830381600087803b15801561514557600080fd5b505af1158015615159573d6000803e3d6000fd5b5050600054604080517fcef7f6af00000000000000000000000000000000000000000000000000000000815260048101918252600780546002600019600183161561010002019091160460448301819052600160a060020a03909416955063cef7f6af9450926008929182916024820191606401908690801561521d5780601f106151f25761010080835404028352916020019161521d565b820191906000526020600020905b81548152906001019060200180831161520057829003601f168201915b50508381038252845460026000196101006001841615020190911604808252602090910190859080156152915780601f1061526657610100808354040283529160200191615291565b820191906000526020600020905b81548152906001019060200180831161527457829003601f168201915b5050945050505050600060405180830381600087803b158015612a6e57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561530457600080fd5b505afa158015615318573d6000803e3d6000fd5b505050506040513d602081101561532e57600080fd5b5051600160a060020a031633146153795760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506153bb9250839150616f229050565b1515600114615414576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061545892508491508390506149df565b151560011461549b5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b60048054604080517f1f953480000000000000000000000000000000000000000000000000000000008152928301908152604483018c9052600160a060020a0390911691631f953480918d918d918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561555a57600080fd5b505af115801561556e573d6000803e3d6000fd5b5050505060608a8a8a8a604051602001808060200180602001806020018481038452888882818152602001925080828437600083820152601f01601f1916909101858103808552600182527f2e0000000000000000000000000000000000000000000000000000000000000060208301526040908101845281018790526060019050868680828437600083820181905260408051601f909301601f199081169095018381039095018352939093529a50508e11159750611811965050505050505057600354604080517f3f5e1a450000000000000000000000000000000000000000000000000000000081526004810191825260448101899052600160a060020a0390921691633f5e1a45918a918a918691819060248101906064018686808284376000838201819052601f909101601f191690920185810384528651815286516020918201939188019250908190849084905b838110156156da5781810151838201526020016156c2565b50505050905090810190601f1680156157075780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611ad457600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561577a57600080fd5b505afa15801561578e573d6000803e3d6000fd5b505050506040513d60208110156157a457600080fd5b5051600160a060020a031633146157ef5760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b806157f981615fa3565b151560011461583c5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b826001148061584b5750826002145b15156158a1576040805160e560020a62461bcd02815260206004820152601560248201527f4f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60008084600114156158b957506002905060036158ca565b84600214156158ca57506003905060055b61590b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250616d8f915050565b1515600114615964576040805160e560020a62461bcd02815260206004820152601560248201527f6f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526159fd93909290918301828280156159f15780601f106159c6576101008083540402835291602001916159f1565b820191906000526020600020905b8154815290600101906020018083116159d457829003601f168201915b50505050508584616e12565b1561252b5760048054604080517f14f775f90000000000000000000000000000000000000000000000000000000081526024810189905292830190815260448301899052600160a060020a03909116916314f775f9918a918a918a918190606401858580828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b1580156117fd57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015615aec57600080fd5b505afa158015615b00573d6000803e3d6000fd5b505050506040513d6020811015615b1657600080fd5b5051600160a060020a03163314615b615760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b80615b6b81615fa3565b1515600114615bae5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6003546040517f0cc50146000000000000000000000000000000000000000000000000000000008152600460448201819052606082820190815260648301879052600160a060020a0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015615c7857600080fd5b505af1158015615c8c573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d02815260006064820181905260056084830181905260a0600484019081526006805460001960018216156101000201169690960460a48501819052600160a060020a03909516975063e98ac22d96508d948d948d948d9490939092909182916024820191604481019160c4909101908c908015615d5d5780601f10615d3257610100808354040283529160200191615d5d565b820191906000526020600020905b815481529060010190602001808311615d4057829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561283557600080fd5b600a5460068054604080516020601f6002600019600187161561010002019095169490940493840181900481028201810190925282815260609485948594600094919360079360089360ff909116928691830182828015615e725780601f10615e4757610100808354040283529160200191615e72565b820191906000526020600020905b815481529060010190602001808311615e5557829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295995088945092508401905082828015615f005780601f10615ed557610100808354040283529160200191615f00565b820191906000526020600020905b815481529060010190602001808311615ee357829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295985087945092508401905082828015615f8e5780601f10615f6357610100808354040283529160200191615f8e565b820191906000526020600020905b815481529060010190602001808311615f7157829003601f168201915b50505050509150935093509350935090919293565b604080516020808201908152600780546002600019610100600184161502019091160493830184905260009390928291606090910190849080156160285780601f10615ffd57610100808354040283529160200191616028565b820191906000526020600020905b81548152906001019060200180831161600b57829003601f168201915b505060408051601f198184030181528282528051602090910120600080547f81d66b23000000000000000000000000000000000000000000000000000000008552600160a060020a038a8116600487015293519297509290921694506381d66b239350602480840193829003018186803b1580156160a557600080fd5b505afa1580156160b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156160e257600080fd5b810190808051602060020a8111156160f957600080fd5b8201602081018481111561610c57600080fd5b8151602060020a81118282018710171561612557600080fd5b50509291905050506040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561616d578181015183820152602001616155565b50505050905090810190601f16801561619a5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120149050919050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561620e57600080fd5b505afa158015616222573d6000803e3d6000fd5b505050506040513d602081101561623857600080fd5b5051600160a060020a031633146162835760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b8086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506162c792508491508390506149df565b151560011461630a5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174586022913960400191505060405180910390fd5b83600114806163195750836002145b806163245750836003145b15156163645760405160e560020a62461bcd0281526004018080602001828103825260258152602001806173e56025913960400191505060405180910390fd5b6003546040517f0cc501460000000000000000000000000000000000000000000000000000000081526044810186905260606004820190815260648201889052600160a060020a0390921691630cc5014691899189918d918d918b919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015612e4057600080fd5b6002546040517f014e6acc0000000000000000000000000000000000000000000000000000000081526020600482019081526024820184905260609283926000928392600160a060020a03169163014e6acc9189918991908190604401848480828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b1580156164c557600080fd5b505afa1580156164d9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561650257600080fd5b810190808051602060020a81111561651957600080fd5b8201602081018481111561652c57600080fd5b8151602060020a81118282018710171561654557600080fd5b50509291906020018051602060020a81111561656057600080fd5b8201602081018481111561657357600080fd5b8151602060020a81118282018710171561658c57600080fd5b50506020820151604090920151949b909a5090985092965091945050505050565b600554600160a060020a0316331461660f576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b600a5460009060ff161561665b576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b61666760068989617316565b5061667460078787617316565b5061668160088585617316565b5050600a805460ff1916911515919091179055505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156166ed57600080fd5b505afa158015616701573d6000803e3d6000fd5b505050506040513d602081101561671757600080fd5b5051600160a060020a031633146167625760405160e560020a62461bcd02815260040180806020018281038252602881526020018061740a6028913960400191505060405180910390fd5b600a5460019060ff16151581146167b1576040805160e560020a62461bcd02815260206004820152601d60248201526000805160206173c5833981519152604482015290519081900360640190fd5b816167bb81615fa3565b15156001146167fe5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806174326026913960400191505060405180910390fd5b6002805460405160e060020a63e98ac22d028152600160a060020a03878116606483015260016084830181905260a06004840190815260068054600019818516156101000201169690960460a48501819052929094169463e98ac22d9490938e938e938e938e938e9382916024810191604482019160c401908c9080156168c65780601f1061689b576101008083540402835291602001916168c6565b820191906000526020600020905b8154815290600101906020018083116168a957829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561693957600080fd5b505af115801561694d573d6000803e3d6000fd5b5050600480546040517ff9953de50000000000000000000000000000000000000000000000000000000081526020928101928352602481018c9052600160a060020a03909116935063f9953de592508b918b918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156169e157600080fd5b505af11580156169f5573d6000803e3d6000fd5b5050600354604080517fa97a440600000000000000000000000000000000000000000000000000000000815260048101918252604481018a9052600160a060020a03909216935063a97a44069250899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015616ab857600080fd5b505af1158015616acc573d6000803e3d6000fd5b50505050616b108489898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f2d92505050565b1515600114616b69576040805160e560020a62461bcd02815260206004820152601d60248201527f4f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d9389938e938e93600893909290604481019060a401878780828437600083820152601f01601f191690910184810383528654600260001961010060018416150201909116048082526020909101915086908015616c655780601f10616c3a57610100808354040283529160200191616c65565b820191906000526020600020905b815481529060010190602001808311616c4857829003601f168201915b5050975050505050505050600060405180830381600087803b158015612e4057600080fd5b60048054604080517f8c8642df000000000000000000000000000000000000000000000000000000008152600260248201819052938101918252845160448201528451600094600160a060020a0390941693638c8642df93879391929091829160649091019060208601908083838c5b83811015616d12578181015183820152602001616cfa565b50505050905090810190601f168015616d3f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015616d5d57600080fd5b505afa158015616d71573d6000803e3d6000fd5b505050506040513d6020811015616d8757600080fd5b505192915050565b60048054604080517f8c8642df00000000000000000000000000000000000000000000000000000000815260248101859052928301908152845160448401528451600093600160a060020a0390931692638c8642df9287928792829160649091019060208601908083838c83811015613fb1578181015183820152602001613f99565b6002546040517fb0213864000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260448201849052606060048301908152865160648401528651600094929092169263b02138649288928892889282916084019060208701908083838d5b83811015616ea0578181015183820152602001616e88565b50505050905090810190601f168015616ecd5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015616eee57600080fd5b505af1158015616f02573d6000803e3d6000fd5b505050506040513d6020811015616f1857600080fd5b5051949350505050565b600480546040517fffe40d1d0000000000000000000000000000000000000000000000000000000081526020928101838152845160248301528451600094600160a060020a039094169363ffe40d1d9387939283926044909201918501908083838b5b83811015616f9d578181015183820152602001616f85565b50505050905090810190601f168015616fca5780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b158015616d5d57600080fd5b80156170d757600254604080517f5607395b000000000000000000000000000000000000000000000000000000008152600160a060020a03858116602483015260048201928352865160448301528651931692635607395b9287928792829160640190602086019080838360005b8381101561706d578181015183820152602001617055565b50505050905090810190601f16801561709a5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156170ba57600080fd5b505af11580156170ce573d6000803e3d6000fd5b505050506171a4565b600254604080517f59cbd6fe000000000000000000000000000000000000000000000000000000008152600160a060020a038581166024830152600482019283528651604483015286519316926359cbd6fe9287928792829160640190602086019080838360005b8381101561715757818101518382015260200161713f565b50505050905090810190601f1680156171845780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612a6e57600080fd5b505050565b600154600090600160a060020a031663abf5739f8484614c4e815b600480546040517f177c8d8a0000000000000000000000000000000000000000000000000000000081526020928101838152845160248301528451606094600160a060020a039094169363177c8d8a93879392839260449092019185019080838360005b83811015617240578181015183820152602001617228565b50505050905090810190601f16801561726d5780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b15801561728a57600080fd5b505afa15801561729e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156172c757600080fd5b810190808051602060020a8111156172de57600080fd5b820160208101848111156172f157600080fd5b8151602060020a81118282018710171561730a57600080fd5b50909695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106173575782800160ff19823516178555617384565b82800160010185558215617384579182015b82811115617384578235825591602001919060010190617369565b50612f96926132039250905b80821115612f96576000815560010161739056fe6f7267206e6f7420696e20617070726f76656420737461747573000000000000496e636f7272656374206e6574776f726b20626f6f7420737461747573000000696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f77656463616e2062652063616c6c656420627920696e7465726661636520636f6e7472616374206f6e6c796163636f756e74206973206e6f742061206e6574776f726b2061646d696e206163636f756e746163636f756e74206973206e6f742061206f72672061646d696e206163636f756e74a165627a7a72305820591e1e60c6af314107b452f2232c34ebdb65dbeaa61497ec77b728de59736cb30029 \ No newline at end of file +608060405260036009556000600a60006101000a81548160ff0219169083151502179055503480156200003157600080fd5b5060405160c0806200a0f5833981018060405260c08110156200005357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505085600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050619ec480620002316000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c010000000000000000000000000000000000000000000000000000000090048063655a8ef511610121578063b5546564116100bf578063dbfad7111161008e578063dbfad711146115e2578063f346a3a7146116da578063f5ad584a14611872578063f922f802146119a1576101ec565b8063b55465641461128f578063c3dc8e0914611332578063cc9ba6fa14611420578063d1aa0c2014611586576101ec565b80638baa8191116100fb5780638baa819114610e8f5780639bd3810114611021578063a5843f0814611114578063a64d28601461114c576101ec565b8063655a8ef514610bf55780636b568d7614610ce35780638884304114610dd6576101ec565b8063404bf3eb1161018e5780634cbfa82e116101685780634cbfa82e146109b35780634fe57e7a146109d557806359a260a314610a195780635ca5adbe14610b07576101ec565b8063404bf3eb146107ca57806344478e79146108d85780634b20f45f146108fa576101ec565b80631c249912116101ca5780631c249912146104e75780633bc07dea146105a05780633cf5f33b146106ae5780633f25c28814610751576101ec565b806304e81f1e146101f15780631b04c276146102b45780631b610220146103c4575b600080fd5b6102b26004803603608081101561020757600080fd5b810190808035906020019064010000000081111561022457600080fd5b82018360208201111561023657600080fd5b8035906020019184600183028401116401000000008311171561025857600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aaf565b005b6103c2600480360360c08110156102ca57600080fd5b81019080803590602001906401000000008111156102e757600080fd5b8201836020820111156102f957600080fd5b8035906020019184600183028401116401000000008311171561031b57600080fd5b90919293919293908035906020019064010000000081111561033c57600080fd5b82018360208201111561034e57600080fd5b8035906020019184600183028401116401000000008311171561037057600080fd5b909192939192939080359060200190929190803515159060200190929190803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2b565b005b6104e5600480360360608110156103da57600080fd5b81019080803590602001906401000000008111156103f757600080fd5b82018360208201111561040957600080fd5b8035906020019184600183028401116401000000008311171561042b57600080fd5b90919293919293908035906020019064010000000081111561044c57600080fd5b82018360208201111561045e57600080fd5b8035906020019184600183028401116401000000008311171561048057600080fd5b9091929391929390803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b909192939192939050505061221c565b005b61059e600480360360608110156104fd57600080fd5b810190808035906020019064010000000081111561051a57600080fd5b82018360208201111561052c57600080fd5b8035906020019184600183028401116401000000008311171561054e57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061242b565b005b6106ac600480360360808110156105b657600080fd5b81019080803590602001906401000000008111156105d357600080fd5b8201836020820111156105e557600080fd5b8035906020019184600183028401116401000000008311171561060757600080fd5b90919293919293908035906020019064010000000081111561062857600080fd5b82018360208201111561063a57600080fd5b8035906020019184600183028401116401000000008311171561065c57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128a0565b005b61074f600480360360608110156106c457600080fd5b81019080803590602001906401000000008111156106e157600080fd5b8201836020820111156106f357600080fd5b8035906020019184600183028401116401000000008311171561071557600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613058565b005b6107c86004803603602081101561076757600080fd5b810190808035906020019064010000000081111561078457600080fd5b82018360208201111561079657600080fd5b803590602001918460018302840111640100000000831117156107b857600080fd5b90919293919293905050506134c1565b005b6108d6600480360360808110156107e057600080fd5b81019080803590602001906401000000008111156107fd57600080fd5b82018360208201111561080f57600080fd5b8035906020019184600183028401116401000000008311171561083157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561087257600080fd5b82018360208201111561088457600080fd5b803590602001918460018302840111640100000000831117156108a657600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506137f6565b005b6108e0613d6b565b604051808215151515815260200191505060405180910390f35b6109b16004803603606081101561091057600080fd5b810190808035906020019064010000000081111561092d57600080fd5b82018360208201111561093f57600080fd5b8035906020019184600183028401116401000000008311171561096157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6e565b005b6109bb6142de565b604051808215151515815260200191505060405180910390f35b610a17600480360360208110156109eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506142f5565b005b610b0560048036036060811015610a2f57600080fd5b8101908080359060200190640100000000811115610a4c57600080fd5b820183602082011115610a5e57600080fd5b80359060200191846001830284011164010000000083111715610a8057600080fd5b909192939192939080359060200190640100000000811115610aa157600080fd5b820183602082011115610ab357600080fd5b80359060200191846001830284011164010000000083111715610ad557600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614762565b005b610bf360048036036060811015610b1d57600080fd5b8101908080359060200190640100000000811115610b3a57600080fd5b820183602082011115610b4c57600080fd5b80359060200191846001830284011164010000000083111715610b6e57600080fd5b909192939192939080359060200190640100000000811115610b8f57600080fd5b820183602082011115610ba157600080fd5b80359060200191846001830284011164010000000083111715610bc357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614b30565b005b610ce160048036036060811015610c0b57600080fd5b8101908080359060200190640100000000811115610c2857600080fd5b820183602082011115610c3a57600080fd5b80359060200191846001830284011164010000000083111715610c5c57600080fd5b909192939192939080359060200190640100000000811115610c7d57600080fd5b820183602082011115610c8f57600080fd5b80359060200191846001830284011164010000000083111715610cb157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615178565b005b610dbc60048036036040811015610cf957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610d3657600080fd5b820183602082011115610d4857600080fd5b80359060200191846001830284011164010000000083111715610d6a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506154ea565b604051808215151515815260200191505060405180910390f35b610e8d60048036036060811015610dec57600080fd5b8101908080359060200190640100000000811115610e0957600080fd5b820183602082011115610e1b57600080fd5b80359060200191846001830284011164010000000083111715610e3d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615656565b005b61101f60048036036080811015610ea557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ee257600080fd5b820183602082011115610ef457600080fd5b80359060200191846001830284011164010000000083111715610f1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610f7957600080fd5b820183602082011115610f8b57600080fd5b80359060200191846001830284011164010000000083111715610fad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615c48565b005b6110fa6004803603604081101561103757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561107457600080fd5b82018360208201111561108657600080fd5b803590602001918460018302840111640100000000831117156110a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061635e565b604051808215151515815260200191505060405180910390f35b61114a6004803603604081101561112a57600080fd5b8101908080359060200190929190803590602001909291905050506168a9565b005b61128d6004803603608081101561116257600080fd5b810190808035906020019064010000000081111561117f57600080fd5b82018360208201111561119157600080fd5b803590602001918460018302840111640100000000831117156111b357600080fd5b9091929391929390803590602001906401000000008111156111d457600080fd5b8201836020820111156111e657600080fd5b8035906020019184600183028401116401000000008311171561120857600080fd5b90919293919293908035906020019064010000000081111561122957600080fd5b82018360208201111561123b57600080fd5b8035906020019184600183028401116401000000008311171561125d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616f4a565b005b611330600480360360608110156112a557600080fd5b81019080803590602001906401000000008111156112c257600080fd5b8201836020820111156112d457600080fd5b803590602001918460018302840111640100000000831117156112f657600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506174d0565b005b61141e6004803603606081101561134857600080fd5b810190808035906020019064010000000081111561136557600080fd5b82018360208201111561137757600080fd5b8035906020019184600183028401116401000000008311171561139957600080fd5b9091929391929390803590602001906401000000008111156113ba57600080fd5b8201836020820111156113cc57600080fd5b803590602001918460018302840111640100000000831117156113ee57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050617985565b005b611428617e1d565b6040518080602001806020018060200185151515158152602001848103845288818151815260200191508051906020019080838360005b8381101561147a57808201518184015260208101905061145f565b50505050905090810190601f1680156114a75780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b838110156114e05780820151818401526020810190506114c5565b50505050905090810190601f16801561150d5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b8381101561154657808201518184015260208101905061152b565b50505050905090810190601f1680156115735780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b6115c86004803603602081101561159c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061801c565b604051808215151515815260200191505060405180910390f35b6116d8600480360360808110156115f857600080fd5b810190808035906020019064010000000081111561161557600080fd5b82018360208201111561162757600080fd5b8035906020019184600183028401116401000000008311171561164957600080fd5b90919293919293908035906020019064010000000081111561166a57600080fd5b82018360208201111561167c57600080fd5b8035906020019184600183028401116401000000008311171561169e57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506182a6565b005b611751600480360360208110156116f057600080fd5b810190808035906020019064010000000081111561170d57600080fd5b82018360208201111561171f57600080fd5b8035906020019184600183028401116401000000008311171561174157600080fd5b9091929391929390505050618624565b6040518080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156117cd5780820151818401526020810190506117b2565b50505050905090810190601f1680156117fa5780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b83811015611833578082015181840152602081019050611818565b50505050905090810190601f1680156118605780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61199f6004803603608081101561188857600080fd5b81019080803590602001906401000000008111156118a557600080fd5b8201836020820111156118b757600080fd5b803590602001918460018302840111640100000000831117156118d957600080fd5b9091929391929390803590602001906401000000008111156118fa57600080fd5b82018360208201111561190c57600080fd5b8035906020019184600183028401116401000000008311171561192e57600080fd5b90919293919293908035906020019064010000000081111561194f57600080fd5b82018360208201111561196157600080fd5b8035906020019184600183028401116401000000008311171561198357600080fd5b90919293919293908035151590602001909291905050506187ed565b005b611aad600480360360808110156119b757600080fd5b81019080803590602001906401000000008111156119d457600080fd5b8201836020820111156119e657600080fd5b80359060200191846001830284011164010000000083111715611a0857600080fd5b909192939192939080359060200190640100000000811115611a2957600080fd5b820183602082011115611a3b57600080fd5b80359060200191846001830284011164010000000083111715611a5d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050618998565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611b3357600080fd5b505afa158015611b47573d6000803e3d6000fd5b505050506040513d6020811015611b5d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b8085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515611c47838361635e565b1515141515611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b6001841480611cb05750600284145b80611cbb5750600384145b1515611d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180619e046025913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a888888886040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611e0a57600080fd5b505af1158015611e1e573d6000803e3d6000fd5b5050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611eaf57600080fd5b505afa158015611ec3573d6000803e3d6000fd5b505050506040513d6020811015611ed957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515611fc1826191ee565b1515141515612038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561208c838361635e565b15151415156120e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b7135798c8c8c8c8c8c8c6040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001868152602001851515151581526020018415151515815260200183810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508381038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b1580156121f757600080fd5b505af115801561220b573d6000803e3d6000fd5b505050505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156122a057600080fd5b505afa1580156122b4573d6000803e3d6000fd5b505050506040513d60208110156122ca57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612360576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff1615151415156123ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b8686600691906123fd929190619d5e565b5084846007919061240f929190619d5e565b50828260089190612421929190619d5e565b5050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156124af57600080fd5b505afa1580156124c3573d6000803e3d6000fd5b505050506040513d60208110156124d957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561256f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b806001151561257d8261801c565b15151415156125d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a86868660046040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156126d057600080fd5b505af11580156126e4573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600687878760066040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156128215780601f106127f657610100808354040283529160200191612821565b820191906000526020600020905b81548152906001019060200180831161280457829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b15801561288157600080fd5b505af1158015612895573d6000803e3d6000fd5b505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d602081101561294e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156129f28261801c565b1515141515612a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b60011515612a9f88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600161932f565b1515141515612b16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b612bbc60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612baf5780601f10612b8457610100808354040283529160200191612baf565b820191906000526020600020905b815481529060010190602001808311612b9257829003601f168201915b5050505050836001619470565b1561304f57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e302831688886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015612c7e57600080fd5b505af1158015612c92573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b713579600889896009546001806040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018681526020018515151515815260200184151515158152602001838103835289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612db05780601f10612d8557610100808354040283529160200191612db0565b820191906000526020600020905b815481529060010190602001808311612d9357829003601f168201915b50508381038252888882818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612e0157600080fd5b505af1158015612e15573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386bc365286868a8a6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612f0a57600080fd5b505af1158015612f1e573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c214e5e58888866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050506040513d602081101561303c57600080fd5b8101908080519060200190929190505050505b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156130dc57600080fd5b505afa1580156130f0573d6000803e3d6000fd5b505050506040513d602081101561310657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561319c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156131aa8261801c565b1515141515613204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc274938787876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156132cb57600080fd5b505af11580156132df573d6000803e3d6000fd5b505050506040513d60208110156132f557600080fd5b81019080805190602001909291905050509050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600688886000866040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156134415780601f1061341657610100808354040283529160200191613441565b820191906000526020600020905b81548152906001019060200180831161342457829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b1580156134a157600080fd5b505af11580156134b5573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561354557600080fd5b505afa158015613559573d6000803e3d6000fd5b505050506040513d602081101561356f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613605576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515613691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3b09d84848460066040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352868682818152602001925080828437600081840152601f19601f8201169050808301925050508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156137b65780601f1061378b576101008083540402835291602001916137b6565b820191906000526020600020905b81548152906001019060200180831161379957829003601f168201915b505095505050505050600060405180830381600087803b1580156137d957600080fd5b505af11580156137ed573d6000803e3d6000fd5b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561387a57600080fd5b505afa15801561388e573d6000803e3d6000fd5b505050506040513d60208110156138a457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561393a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561398c826195e8565b1515141515613a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b8160011515613a118261801c565b1515141515613a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d878a8a898960016040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015613b9857600080fd5b505af1158015613bac573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d60068a8a8a60046040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613ce95780601f10613cbe57610100808354040283529160200191613ce9565b820191906000526020600020905b815481529060010190602001808311613ccc57829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015613d4957600080fd5b505af1158015613d5d573d6000803e3d6000fd5b505050505050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613df157600080fd5b505afa158015613e05573d6000803e3d6000fd5b505050506040513d6020811015613e1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515613f3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550600a60009054906101000a900460ff1691505090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613ff257600080fd5b505afa158015614006573d6000803e3d6000fd5b505050506040513d602081101561401c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156140b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156140c08261801c565b151514151561411a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6141c060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141b35780601f10614188576101008083540402835291602001916141b3565b820191906000526020600020905b81548152906001019060200180831161419657829003601f168201915b5050505050836006619470565b156142d7576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a86868660056040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050505b5050505050565b6000600a60009054906101000a900460ff16905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561437957600080fd5b505afa15801561438d573d6000803e3d6000fd5b505050506040513d60208110156143a357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614439576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff1615151415156144c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b61456b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561455e5780601f106145335761010080835404028352916020019161455e565b820191906000526020600020905b81548152906001019060200180831161454157829003601f168201915b5050505050836001619720565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d836006600760026040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184815260200183810383528681815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561469f5780601f106146745761010080835404028352916020019161469f565b820191906000526020600020905b81548152906001019060200180831161468257829003601f168201915b50508381038252858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156147225780601f106146f757610100808354040283529160200191614722565b820191906000526020600020905b81548152906001019060200180831161470557829003601f168201915b50509650505050505050600060405180830381600087803b15801561474657600080fd5b505af115801561475a573d6000803e3d6000fd5b505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156147e657600080fd5b505afa1580156147fa573d6000803e3d6000fd5b505050506040513d602081101561481057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156148a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156148f8826191ee565b151514151561496f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156149c3838361635e565b1515141515614a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f5e1a4587878b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015614b0e57600080fd5b505af1158015614b22573d6000803e3d6000fd5b505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015614bb457600080fd5b505afa158015614bc8573d6000803e3d6000fd5b505050506040513d6020811015614bde57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515614cc6826191ee565b1515141515614d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515614d91838361635e565b1515141515614deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b60076040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015614e795780601f10614e4e57610100808354040283529160200191614e79565b820191906000526020600020905b815481529060010190602001808311614e5c57829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015614ff1575060086040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015614f7f5780601f10614f5457610100808354040283529160200191614f7f565b820191906000526020600020905b815481529060010190602001808311614f6257829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014155b1515615065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f61646d696e20726f6c65732063616e6e6f742062652072656d6f76656400000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6343012898989896040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561515657600080fd5b505af115801561516a573d6000803e3d6000fd5b505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156151fc57600080fd5b505afa158015615210573d6000803e3d6000fd5b505050506040513d602081101561522657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156152bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156152ca8261801c565b1515141515615324576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6153ca60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156153bd5780601f10615392576101008083540402835291602001916153bd565b820191906000526020600020905b8154815290600101906020018083116153a057829003601f168201915b5050505050836005619470565b156154e257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc501468585898960056040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b1580156154c957600080fd5b505af11580156154dd573d6000803e3d6000fd5b505050505b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636b568d7684846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156155c85780820151818401526020810190506155ad565b50505050905090810190601f1680156155f55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561561357600080fd5b505afa158015615627573d6000803e3d6000fd5b505050506040513d602081101561563d57600080fd5b8101908080519060200190929190505050905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156156da57600080fd5b505afa1580156156ee573d6000803e3d6000fd5b505050506040513d602081101561570457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561579a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156157a88261801c565b1515141515615802576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b6158a860068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561589b5780601f106158705761010080835404028352916020019161589b565b820191906000526020600020905b81548152906001019060200180831161587e57829003601f168201915b5050505050836004619470565b15615c41576000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d09dc9388886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040805180830381600087803b15801561596b57600080fd5b505af115801561597f573d6000803e3d6000fd5b505050506040513d604081101561599557600080fd5b810190808051906020019092919080519060200190929190505050915091508115615a6157615a6060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015615a535780601f10615a2857610100808354040283529160200191615a53565b820191906000526020600020905b815481529060010190602001808311615a3657829003601f168201915b5050505050826000619720565b5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c214e5e58989896040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b158015615b5357600080fd5b505af1158015615b67573d6000803e3d6000fd5b505050506040513d6020811015615b7d57600080fd5b810190808051906020019092919050505090508015615c3d57615c3c60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015615c2f5780601f10615c0457610100808354040283529160200191615c2f565b820191906000526020600020905b815481529060010190602001808311615c1257829003601f168201915b5050505050876001619720565b5b5050505b5050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015615ccc57600080fd5b505afa158015615ce0573d6000803e3d6000fd5b505050506040513d6020811015615cf657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515615d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b808360011515615d9c838361635e565b1515141515615df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b8460011515615e04826191ee565b1515141515615e7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b60011515615e8988886154ea565b1515141515615f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60011515615f0e86886199b5565b1515141515615f85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f726f6c6520646f6573206e6f742065786973747300000000000000000000000081525060200191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be322e548789615fd08b619bd0565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015616043578082015181840152602081019050616028565b50505050905090810190601f1680156160705780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156160a957808201518184015260208101905061608e565b50505050905090810190601f1680156160d65780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561610f5780820151818401526020810190506160f4565b50505050905090810190601f16801561613c5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561615d57600080fd5b505afa158015616171573d6000803e3d6000fd5b505050506040513d602081101561618757600080fd5b810190808051906020019092919050505090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663143a5604898989856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184151515158152602001838103835286818151815260200191508051906020019080838360005b8381101561628657808201518184015260208101905061626b565b50505050905090810190601f1680156162b35780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156162ec5780820151818401526020810190506162d1565b50505050905090810190601f1680156163195780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561633c57600080fd5b505af1158015616350573d6000803e3d6000fd5b505050505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8b42bf484846163a886619bd0565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561644957808201518184015260208101905061642e565b50505050905090810190601f1680156164765780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156164af578082015181840152602081019050616494565b50505050905090810190601f1680156164dc5780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b1580156164fc57600080fd5b505afa158015616510573d6000803e3d6000fd5b505050506040513d602081101561652657600080fd5b81019080805190602001909291905050501561654557600190506168a3565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be322e546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166381d66b23866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038186803b15801561663d57600080fd5b505afa158015616651573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561667b57600080fd5b81019080805164010000000081111561669357600080fd5b828101905060208101848111156166a957600080fd5b81518560018202830111640100000000821117156166c657600080fd5b5050929190505050846166d886619bd0565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561674b578082015181840152602081019050616730565b50505050905090810190601f1680156167785780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156167b1578082015181840152602081019050616796565b50505050905090810190601f1680156167de5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156168175780820151818401526020810190506167fc565b50505050905090810190601f1680156168445780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561686557600080fd5b505afa158015616879573d6000803e3d6000fd5b505050506040513d602081101561688f57600080fd5b810190808051906020019092919050505090505b92915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561692d57600080fd5b505afa158015616941573d6000803e3d6000fd5b505050506040513d602081101561695757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156169ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515616a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e58eb9f600685856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001848152602001838152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616b7b5780601f10616b5057610100808354040283529160200191616b7b565b820191906000526020600020905b815481529060010190602001808311616b5e57829003601f168201915b5050945050505050600060405180830381600087803b158015616b9d57600080fd5b505af1158015616bb1573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b713579600760066009546001806040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018681526020018515151515815260200184151515158152602001838103835288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616ccf5780601f10616ca457610100808354040283529160200191616ccf565b820191906000526020600020905b815481529060010190602001808311616cb257829003601f168201915b5050838103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616d525780601f10616d2757610100808354040283529160200191616d52565b820191906000526020600020905b815481529060010190602001808311616d3557829003601f168201915b5050975050505050505050600060405180830381600087803b158015616d7757600080fd5b505af1158015616d8b573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cef7f6af600760086040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001838103835285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616e885780601f10616e5d57610100808354040283529160200191616e88565b820191906000526020600020905b815481529060010190602001808311616e6b57829003601f168201915b5050838103825284818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616f0b5780601f10616ee057610100808354040283529160200191616f0b565b820191906000526020600020905b815481529060010190602001808311616eee57829003601f168201915b5050945050505050600060405180830381600087803b158015616f2d57600080fd5b505af1158015616f41573d6000803e3d6000fd5b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015616fce57600080fd5b505afa158015616fe2573d6000803e3d6000fd5b505050506040513d6020811015616ff857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561708e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156170e0826195e8565b1515141515617157576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b8188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156171ab838361635e565b1515141515617205576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f9534808b8b8b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156172f657600080fd5b505af115801561730a573d6000803e3d6000fd5b5050505060608a8a8a8a6040516020018085858082843780830192505050807f2e0000000000000000000000000000000000000000000000000000000000000081525060010183838082843780830192505050945050505050604051602081830303815290604052905060008787905011156174c357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f5e1a458888846040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352868682818152602001925080828437600081840152601f19601f820116905080830192505050838103825284818151815260200191508051906020019080838360005b8381101561745b578082015181840152602081019050617440565b50505050905090810190601f1680156174885780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156174aa57600080fd5b505af11580156174be573d6000803e3d6000fd5b505050505b5050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561755457600080fd5b505afa158015617568573d6000803e3d6000fd5b505050506040513d602081101561757e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515617614576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b80600115156176228261801c565b151514151561767c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b600183148061768b5750600283145b15156176ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f7065726174696f6e206e6f7420616c6c6f776564000000000000000000000081525060200191505060405180910390fd5b600080600185141561771857600291506003905061772b565b600285141561772a5760039150600590505b5b6001151561777d88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508361932f565b15151415156177f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f7065726174696f6e206e6f7420616c6c6f776564000000000000000000000081525060200191505060405180910390fd5b61789960068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561788d5780601f106178625761010080835404028352916020019161788d565b820191906000526020600020905b81548152906001019060200180831161787057829003601f168201915b50505050508584619470565b1561797c57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314f775f98888886040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561796357600080fd5b505af1158015617977573d6000803e3d6000fd5b505050505b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015617a0957600080fd5b505afa158015617a1d573d6000803e3d6000fd5b505050506040513d6020811015617a3357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515617ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b8060011515617ad78261801c565b1515141515617b31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc501468585898960046040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015617c2b57600080fd5b505af1158015617c3f573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600688888888600060056040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184810384528b818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015617d7f5780601f10617d5457610100808354040283529160200191617d7f565b820191906000526020600020905b815481529060010190602001808311617d6257829003601f168201915b505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015617dfd57600080fd5b505af1158015617e11573d6000803e3d6000fd5b50505050505050505050565b60608060606000600660076008600a60009054906101000a900460ff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015617ecf5780601f10617ea457610100808354040283529160200191617ecf565b820191906000526020600020905b815481529060010190602001808311617eb257829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015617f6b5780601f10617f4057610100808354040283529160200191617f6b565b820191906000526020600020905b815481529060010190602001808311617f4e57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156180075780601f10617fdc57610100808354040283529160200191618007565b820191906000526020600020905b815481529060010190602001808311617fea57829003601f168201915b50505050509150935093509350935090919293565b6000600760405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156180ac5780601f10618081576101008083540402835291602001916180ac565b820191906000526020600020905b81548152906001019060200180831161808f57829003601f168201915b505092505050604051602081830303815290604052805190602001206000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166381d66b23846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038186803b15801561818257600080fd5b505afa158015618196573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156181c057600080fd5b8101908080516401000000008111156181d857600080fd5b828101905060208101848111156181ee57600080fd5b815185600182028301116401000000008211171561820b57600080fd5b50509291905050506040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561825657808201518184015260208101905061823b565b50505050905090810190601f1680156182835780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120149050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561832a57600080fd5b505afa15801561833e573d6000803e3d6000fd5b505050506040513d602081101561835457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156183ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b8086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561843e838361635e565b1515141515618498576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619e776022913960400191505060405180910390fd5b60018414806184a75750600284145b806184b25750600384145b1515618509576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180619e046025913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc5014687878b8b896040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561860257600080fd5b505af1158015618616573d6000803e3d6000fd5b505050505050505050505050565b606080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663014e6acc87876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b1580156186e557600080fd5b505afa1580156186f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250608081101561872357600080fd5b81019080805164010000000081111561873b57600080fd5b8281019050602081018481111561875157600080fd5b815185600182028301116401000000008211171561876e57600080fd5b5050929190602001805164010000000081111561878a57600080fd5b828101905060208101848111156187a057600080fd5b81518560018202830111640100000000821117156187bd57600080fd5b50509291906020018051906020019092919080519060200190929190505050935093509350935092959194509250565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156188b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6000801515600a60009054906101000a900460ff16151514151561893e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b87876006919061894f929190619d5e565b50858560079190618961929190619d5e565b50838360089190618973929190619d5e565b5081600a60006101000a81548160ff0219169083151502179055505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015618a1c57600080fd5b505afa158015618a30573d6000803e3d6000fd5b505050506040513d6020811015618a4657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515618adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e296028913960400191505060405180910390fd5b6001801515600a60009054906101000a900460ff161515141515618b68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b8160011515618b768261801c565b1515141515618bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619e516026913960400191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d60068a8a8a8a8a60016040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184810384528b818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015618d0b5780601f10618ce057610100808354040283529160200191618d0b565b820191906000526020600020905b815481529060010190602001808311618cee57829003601f168201915b505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015618d8957600080fd5b505af1158015618d9d573d6000803e3d6000fd5b50505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9953de589896040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015618e5e57600080fd5b505af1158015618e72573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a97a440687878b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015618f6757600080fd5b505af1158015618f7b573d6000803e3d6000fd5b5050505060011515618fd1858a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506154ea565b1515141515619048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d858a8a600860016040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018481526020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156191a75780601f1061917c576101008083540402835291602001916191a7565b820191906000526020600020905b81548152906001019060200180831161918a57829003601f168201915b5050975050505050505050600060405180830381600087803b1580156191cc57600080fd5b505af11580156191e0573d6000803e3d6000fd5b505050505050505050505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8642df8360026040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156192a2578082015181840152602081019050619287565b50505050905090810190601f1680156192cf5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156192ed57600080fd5b505afa158015619301573d6000803e3d6000fd5b505050506040513d602081101561931757600080fd5b81019080805190602001909291905050509050919050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8642df84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156193e25780820151818401526020810190506193c7565b50505050905090810190601f16801561940f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561942d57600080fd5b505afa158015619441573d6000803e3d6000fd5b505050506040513d602081101561945757600080fd5b8101908080519060200190929190505050905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b02138648585856040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561955657808201518184015260208101905061953b565b50505050905090810190601f1680156195835780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156195a457600080fd5b505af11580156195b8573d6000803e3d6000fd5b505050506040513d60208110156195ce57600080fd5b810190808051906020019092919050505090509392505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffe40d1d836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015619694578082015181840152602081019050619679565b50505050905090810190601f1680156196c15780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b1580156196de57600080fd5b505afa1580156196f2573d6000803e3d6000fd5b505050506040513d602081101561970857600080fd5b81019080805190602001909291905050509050919050565b801561986d57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635607395b84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156198035780820151818401526020810190506197e8565b50505050905090810190601f1680156198305780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561985057600080fd5b505af1158015619864573d6000803e3d6000fd5b505050506199b0565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359cbd6fe84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b8381101561994a57808201518184015260208101905061992f565b50505050905090810190601f1680156199775780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561999757600080fd5b505af11580156199ab573d6000803e3d6000fd5b505050505b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663abf5739f8484619a0086619bd0565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015619a73578082015181840152602081019050619a58565b50505050905090810190601f168015619aa05780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015619ad9578082015181840152602081019050619abe565b50505050905090810190601f168015619b065780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015619b3f578082015181840152602081019050619b24565b50505050905090810190601f168015619b6c5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b158015619b8d57600080fd5b505afa158015619ba1573d6000803e3d6000fd5b505050506040513d6020811015619bb757600080fd5b8101908080519060200190929190505050905092915050565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663177c8d8a836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015619c7c578082015181840152602081019050619c61565b50505050905090810190601f168015619ca95780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b158015619cc657600080fd5b505afa158015619cda573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015619d0457600080fd5b810190808051640100000000811115619d1c57600080fd5b82810190506020810184811115619d3257600080fd5b8151856001820283011164010000000082111715619d4f57600080fd5b50509291905050509050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10619d9f57803560ff1916838001178555619dcd565b82800160010185558215619dcd579182015b82811115619dcc578235825591602001919060010190619db1565b5b509050619dda9190619dde565b5090565b619e0091905b80821115619dfc576000816000905550600101619de4565b5090565b9056fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f77656463616e2062652063616c6c656420627920696e7465726661636520636f6e7472616374206f6e6c796163636f756e74206973206e6f742061206e6574776f726b2061646d696e206163636f756e746163636f756e74206973206e6f742061206f72672061646d696e206163636f756e74a165627a7a72305820a8c4472ddccb48f9fd45839d957a3318151a75030c35afcdea63ef479c9485e50029 \ No newline at end of file diff --git a/permission/contract/gen/PermissionsInterface.bin b/permission/contract/gen/PermissionsInterface.bin index aa903d90f..e5e15c5b2 100644 --- a/permission/contract/gen/PermissionsInterface.bin +++ b/permission/contract/gen/PermissionsInterface.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506040516020806127ff8339810180604052602081101561003057600080fd5b505160028054600160a060020a031916600160a060020a0390921691909117905561279f806100606000396000f3fe608060405234801561001057600080fd5b50600436106101d35760003560e060020a900480635adbfa7a116101085780639bd38101116100a6578063a97a440611610075578063a97a440614610f54578063bb3b6e8014611012578063d1aa0c2014611080578063f346a3a7146110a6576101d3565b80639bd3810114610d7e578063a5843f0814610dfc578063a634301214610e1f578063a97914bf14610edd576101d3565b80637e461258116100e25780637e46125814610ab557806384b7a84a14610b7c5780638cb58ef314610bf95780638f362a3e14610cb7576101d3565b80635adbfa7a1461090b5780635be9672c146109c95780636b568d7614610a37576101d3565b806343de646c116101755780634cff819e1161014f5780634cff819e146106e35780634fe57e7a146107f1578063511bbd9f1461081757806351f604c31461083d576101d3565b806343de646c146105f457806344478e79146106bf5780634cbfa82e146106db576101d3565b80631b610220116101b15780631b610220146103335780632f7f0a12146104415780633e239b231461050f5780633f25c28814610586576101d3565b806303ed6933146101d85780630cc50146146101fc57806316724c44146102bc575b600080fd5b6101e0611212565b60408051600160a060020a039092168252519081900360200190f35b6102ba6004803603606081101561021257600080fd5b810190602081018135602060020a81111561022c57600080fd5b82018360208201111561023e57600080fd5b803590602001918460018302840111602060020a8311171561025f57600080fd5b919390929091602081019035602060020a81111561027c57600080fd5b82018360208201111561028e57600080fd5b803590602001918460018302840111602060020a831117156102af57600080fd5b919350915035611221565b005b6102ba600480360360408110156102d257600080fd5b810190602081018135602060020a8111156102ec57600080fd5b8201836020820111156102fe57600080fd5b803590602001918460018302840111602060020a8311171561031f57600080fd5b919350915035600160a060020a0316611314565b6102ba6004803603606081101561034957600080fd5b810190602081018135602060020a81111561036357600080fd5b82018360208201111561037557600080fd5b803590602001918460018302840111602060020a8311171561039657600080fd5b919390929091602081019035602060020a8111156103b357600080fd5b8201836020820111156103c557600080fd5b803590602001918460018302840111602060020a831117156103e657600080fd5b919390929091602081019035602060020a81111561040357600080fd5b82018360208201111561041557600080fd5b803590602001918460018302840111602060020a8311171561043657600080fd5b5090925090506113d9565b6102ba6004803603606081101561045757600080fd5b600160a060020a038235169190810190604081016020820135602060020a81111561048157600080fd5b82018360208201111561049357600080fd5b803590602001918460018302840111602060020a831117156104b457600080fd5b919390929091602081019035602060020a8111156104d157600080fd5b8201836020820111156104e357600080fd5b803590602001918460018302840111602060020a8311171561050457600080fd5b5090925090506114e7565b6102ba6004803603604081101561052557600080fd5b810190602081018135602060020a81111561053f57600080fd5b82018360208201111561055157600080fd5b803590602001918460018302840111602060020a8311171561057257600080fd5b919350915035600160a060020a03166115bf565b6102ba6004803603602081101561059c57600080fd5b810190602081018135602060020a8111156105b657600080fd5b8201836020820111156105c857600080fd5b803590602001918460018302840111602060020a831117156105e957600080fd5b509092509050611667565b6102ba6004803603606081101561060a57600080fd5b810190602081018135602060020a81111561062457600080fd5b82018360208201111561063657600080fd5b803590602001918460018302840111602060020a8311171561065757600080fd5b91939092600160a060020a0383351692604081019060200135602060020a81111561068157600080fd5b82018360208201111561069357600080fd5b803590602001918460018302840111602060020a831117156106b457600080fd5b509092509050611713565b6106c76117e8565b604080519115158252519081900360200190f35b6106c761186d565b6102ba600480360360608110156106f957600080fd5b810190602081018135602060020a81111561071357600080fd5b82018360208201111561072557600080fd5b803590602001918460018302840111602060020a8311171561074657600080fd5b919390929091602081019035602060020a81111561076357600080fd5b82018360208201111561077557600080fd5b803590602001918460018302840111602060020a8311171561079657600080fd5b919390929091602081019035602060020a8111156107b357600080fd5b8201836020820111156107c557600080fd5b803590602001918460018302840111602060020a831117156107e657600080fd5b5090925090506118d3565b6102ba6004803603602081101561080757600080fd5b5035600160a060020a03166119ca565b6102ba6004803603602081101561082d57600080fd5b5035600160a060020a0316611a49565b6102ba600480360360a081101561085357600080fd5b810190602081018135602060020a81111561086d57600080fd5b82018360208201111561087f57600080fd5b803590602001918460018302840111602060020a831117156108a057600080fd5b919390929091602081019035602060020a8111156108bd57600080fd5b8201836020820111156108cf57600080fd5b803590602001918460018302840111602060020a831117156108f057600080fd5b91935091508035906020810135151590604001351515611af1565b6102ba6004803603604081101561092157600080fd5b810190602081018135602060020a81111561093b57600080fd5b82018360208201111561094d57600080fd5b803590602001918460018302840111602060020a8311171561096e57600080fd5b919390929091602081019035602060020a81111561098b57600080fd5b82018360208201111561099d57600080fd5b803590602001918460018302840111602060020a831117156109be57600080fd5b509092509050611bfc565b6102ba600480360360408110156109df57600080fd5b810190602081018135602060020a8111156109f957600080fd5b820183602082011115610a0b57600080fd5b803590602001918460018302840111602060020a83111715610a2c57600080fd5b919350915035611ce4565b6106c760048036036040811015610a4d57600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610a7757600080fd5b820183602082011115610a8957600080fd5b803590602001918460018302840111602060020a83111715610aaa57600080fd5b509092509050611d87565b6102ba60048036036060811015610acb57600080fd5b810190602081018135602060020a811115610ae557600080fd5b820183602082011115610af757600080fd5b803590602001918460018302840111602060020a83111715610b1857600080fd5b919390929091602081019035602060020a811115610b3557600080fd5b820183602082011115610b4757600080fd5b803590602001918460018302840111602060020a83111715610b6857600080fd5b919350915035600160a060020a0316611e55565b6102ba60048036036060811015610b9257600080fd5b810190602081018135602060020a811115610bac57600080fd5b820183602082011115610bbe57600080fd5b803590602001918460018302840111602060020a83111715610bdf57600080fd5b9193509150600160a060020a038135169060200135611f2a565b6102ba60048036036040811015610c0f57600080fd5b810190602081018135602060020a811115610c2957600080fd5b820183602082011115610c3b57600080fd5b803590602001918460018302840111602060020a83111715610c5c57600080fd5b919390929091602081019035602060020a811115610c7957600080fd5b820183602082011115610c8b57600080fd5b803590602001918460018302840111602060020a83111715610cac57600080fd5b509092509050611fda565b6102ba60048036036060811015610ccd57600080fd5b810190602081018135602060020a811115610ce757600080fd5b820183602082011115610cf957600080fd5b803590602001918460018302840111602060020a83111715610d1a57600080fd5b919390929091602081019035602060020a811115610d3757600080fd5b820183602082011115610d4957600080fd5b803590602001918460018302840111602060020a83111715610d6a57600080fd5b919350915035600160a060020a03166120a4565b6106c760048036036040811015610d9457600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610dbe57600080fd5b820183602082011115610dd057600080fd5b803590602001918460018302840111602060020a83111715610df157600080fd5b509092509050612179565b6102ba60048036036040811015610e1257600080fd5b5080359060200135612213565b6102ba60048036036040811015610e3557600080fd5b810190602081018135602060020a811115610e4f57600080fd5b820183602082011115610e6157600080fd5b803590602001918460018302840111602060020a83111715610e8257600080fd5b919390929091602081019035602060020a811115610e9f57600080fd5b820183602082011115610eb157600080fd5b803590602001918460018302840111602060020a83111715610ed257600080fd5b50909250905061227b565b6102ba60048036036040811015610ef357600080fd5b810190602081018135602060020a811115610f0d57600080fd5b820183602082011115610f1f57600080fd5b803590602001918460018302840111602060020a83111715610f4057600080fd5b919350915035600160a060020a0316612345565b6102ba60048036036040811015610f6a57600080fd5b810190602081018135602060020a811115610f8457600080fd5b820183602082011115610f9657600080fd5b803590602001918460018302840111602060020a83111715610fb757600080fd5b919390929091602081019035602060020a811115610fd457600080fd5b820183602082011115610fe657600080fd5b803590602001918460018302840111602060020a8311171561100757600080fd5b5090925090506123ed565b6102ba6004803603604081101561102857600080fd5b810190602081018135602060020a81111561104257600080fd5b82018360208201111561105457600080fd5b803590602001918460018302840111602060020a8311171561107557600080fd5b9193509150356124b7565b6106c76004803603602081101561109657600080fd5b5035600160a060020a031661255a565b611114600480360360208110156110bc57600080fd5b810190602081018135602060020a8111156110d657600080fd5b8201836020820111156110e857600080fd5b803590602001918460018302840111602060020a8311171561110957600080fd5b5090925090506125f3565b60405180806020018060200185600160a060020a0316600160a060020a03168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561117357818101518382015260200161115b565b50505050905090810190601f1680156111a05780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b838110156111d35781810151838201526020016111bb565b50505050905090810190601f1680156112005780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b600054600160a060020a031690565b6000546040517fdbfad71100000000000000000000000000000000000000000000000000000000815260448101839052336064820181905260806004830190815260848301889052600160a060020a039093169263dbfad711928992899289928992899290918190602481019060a401898980828437600083820152601f01601f191690910184810383528781526020019050878780828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b505af1158015611309573d6000803e3d6000fd5b505050505050505050565b6000546040517f88843041000000000000000000000000000000000000000000000000000000008152600160a060020a03838116602483015233604483018190526060600484019081526064840187905291909316926388843041928792879287929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b505af11580156113d0573d6000803e3d6000fd5b50505050505050565b6000546040517f1b61022000000000000000000000000000000000000000000000000000000000815260606004820190815260648201889052600160a060020a0390921691631b610220918991899189918991899189918190602481019060448101906084018a8a80828437600083820152601f01601f191690910185810384528881526020019050888880828437600083820152601f01601f191690910185810383528681526020019050868680828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b1580156114c757600080fd5b505af11580156114db573d6000803e3d6000fd5b50505050505050505050565b6000546040517f8baa8191000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081523360648401819052608060248501908152608485018990529290941693638baa8191938a938a938a938a938a9391929190604481019060a401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b6000546040517f4b20f45f000000000000000000000000000000000000000000000000000000008152600160a060020a0383811660248301523360448301819052606060048401908152606484018790529190931692634b20f45f928792879287929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b6000546040517f3f25c28800000000000000000000000000000000000000000000000000000000815260206004820190815260248201849052600160a060020a0390921691633f25c28891859185918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505050565b6000546040517f404bf3eb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166024830152336064830181905260806004840190815260848401899052919093169263404bf3eb9289928992899289928992918190604481019060a401898980828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b60008060009054906101000a9004600160a060020a0316600160a060020a03166344478e796040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561183c57600080fd5b505af1158015611850573d6000803e3d6000fd5b505050506040513d602081101561186657600080fd5b5051905090565b60008060009054906101000a9004600160a060020a0316600160a060020a0316634cbfa82e6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156118bf57600080fd5b505afa158015611850573d6000803e3d6000fd5b6000546040517fa64d2860000000000000000000000000000000000000000000000000000000008152336064820181905260806004830190815260848301899052600160a060020a039093169263a64d2860928a928a928a928a928a928a9281906024810190604481019060a4018b8b80828437600083820152601f01601f191690910185810384528981526020019050898980828437600083820152601f01601f191690910185810383528781526020019050878780828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b1580156114c757600080fd5b60008054604080517f4fe57e7a000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015291519190921692634fe57e7a926024808201939182900301818387803b158015611a2e57600080fd5b505af1158015611a42573d6000803e3d6000fd5b5050505050565b600254600160a060020a03163314611ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000546040517f1b04c27600000000000000000000000000000000000000000000000000000000815260448101859052831515606482015282151560848201523360a4820181905260c06004830190815260c483018a9052600160a060020a0390931692631b04c276928b928b928b928b928b928b928b9291908190602481019060e4018b8b80828437600083820152601f01601f191690910184810383528981526020019050898980828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015611bdb57600080fd5b505af1158015611bef573d6000803e3d6000fd5b5050505050505050505050565b6000546040517f655a8ef5000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a039093169263655a8ef5928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b505af1158015611cda573d6000803e3d6000fd5b5050505050505050565b6000546040517fb554656400000000000000000000000000000000000000000000000000000000815260248101839052336044820181905260606004830190815260648301869052600160a060020a039093169263b5546564928792879287928190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b60008054604080517f6b568d76000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081526024830193845260448301879052931692636b568d76928892889288929091606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b158015611e2157600080fd5b505afa158015611e35573d6000803e3d6000fd5b505050506040513d6020811015611e4b57600080fd5b5051949350505050565b6000546040517f3bc07dea000000000000000000000000000000000000000000000000000000008152600160a060020a0383811660448301523360648301819052608060048401908152608484018990529190931692633bc07dea9289928992899289928992918190602481019060a401898980828437600083820152601f01601f191690910184810383528781526020019050878780828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b6000546040517f04e81f1e000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660248301526044820184905233606483018190526080600484019081526084840188905291909316926304e81f1e92889288928892889290819060a401878780828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517fc3dc8e09000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a039093169263c3dc8e09928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517ff922f802000000000000000000000000000000000000000000000000000000008152600160a060020a038381166044830152336064830181905260806004840190815260848401899052919093169263f922f8029289928992899289928992918190602481019060a401898980828437600083820152601f01601f191690910184810383528781526020019050878780828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156112f557600080fd5b60008054604080517f9bd38101000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483019081526024830193845260448301879052931692639bd38101928892889288929091606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b158015611e2157600080fd5b60008054604080517fa5843f0800000000000000000000000000000000000000000000000000000000815260048101869052602481018590529051600160a060020a039092169263a5843f089260448084019382900301818387803b1580156116f757600080fd5b6000546040517f5ca5adbe000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a0390931692635ca5adbe928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517f1c249912000000000000000000000000000000000000000000000000000000008152600160a060020a0383811660248301523360448301819052606060048401908152606484018790529190931692631c249912928792879287929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b6000546040517f59a260a3000000000000000000000000000000000000000000000000000000008152336044820181905260606004830190815260648301879052600160a060020a03909316926359a260a3928892889288928892919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015611cc657600080fd5b6000546040517f3cf5f33b00000000000000000000000000000000000000000000000000000000815260248101839052336044820181905260606004830190815260648301869052600160a060020a0390931692633cf5f33b928792879287928190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113bc57600080fd5b60008054604080517fd1aa0c20000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301529151919092169163d1aa0c20916024808301926020929190829003018186803b1580156125c157600080fd5b505afa1580156125d5573d6000803e3d6000fd5b505050506040513d60208110156125eb57600080fd5b505192915050565b600080546040517ff346a3a700000000000000000000000000000000000000000000000000000000815260206004820190815260248201859052606093849390928392600160a060020a039092169163f346a3a791899189918190604401848480828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561268b57600080fd5b505afa15801561269f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156126c857600080fd5b810190808051602060020a8111156126df57600080fd5b820160208101848111156126f257600080fd5b8151602060020a81118282018710171561270b57600080fd5b50509291906020018051602060020a81111561272657600080fd5b8201602081018481111561273957600080fd5b8151602060020a81118282018710171561275257600080fd5b50506020820151604090920151949b909a509098509296509194505050505056fea165627a7a72305820a6bfbf7d9db24545f293df15653826e93d3e0be5bb868650b5a2ce0f1f9221290029 \ No newline at end of file +608060405234801561001057600080fd5b506040516020806138138339810180604052602081101561003057600080fd5b810190808051906020019092919050505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613781806100926000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c0100000000000000000000000000000000000000000000000000000000900480635adbfa7a116101215780639bd38101116100bf578063a97a44061161008e578063a97a44061461123b578063bb3b6e8014611309578063d1aa0c201461138c578063f346a3a7146113e8576101ec565b80639bd3810114610feb578063a5843f081461109c578063a6343012146110d4578063a97914bf146111a2576101ec565b80637e461258116100fb5780637e46125814610c9e57806384b7a84a14610d8c5780638cb58ef314610e2f5780638f362a3e14610efd576101ec565b80635adbfa7a14610a9c5780635be9672c14610b6a5780636b568d7614610bed576101ec565b806343de646c1161018e5780634cff819e116101685780634cff819e146108015780634fe57e7a14610924578063511bbd9f1461096857806351f604c3146109ac576101ec565b806343de646c146106cf57806344478e79146107bd5780634cbfa82e146107df576101ec565b80631b610220116101ca5780631b610220146103ac5780632f7f0a12146104cf5780633e239b23146105bd5780633f25c28814610656576101ec565b806303ed6933146101f15780630cc501461461023b57806316724c4414610313575b600080fd5b6101f9611580565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603606081101561025157600080fd5b810190808035906020019064010000000081111561026e57600080fd5b82018360208201111561028057600080fd5b803590602001918460018302840111640100000000831117156102a257600080fd5b9091929391929390803590602001906401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b9091929391929390803590602001909291905050506115a9565b005b6103aa6004803603604081101561032957600080fd5b810190808035906020019064010000000081111561034657600080fd5b82018360208201111561035857600080fd5b8035906020019184600183028401116401000000008311171561037a57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116f4565b005b6104cd600480360360608110156103c257600080fd5b81019080803590602001906401000000008111156103df57600080fd5b8201836020820111156103f157600080fd5b8035906020019184600183028401116401000000008311171561041357600080fd5b90919293919293908035906020019064010000000081111561043457600080fd5b82018360208201111561044657600080fd5b8035906020019184600183028401116401000000008311171561046857600080fd5b90919293919293908035906020019064010000000081111561048957600080fd5b82018360208201111561049b57600080fd5b803590602001918460018302840111640100000000831117156104bd57600080fd5b9091929391929390505050611835565b005b6105bb600480360360608110156104e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561052257600080fd5b82018360208201111561053457600080fd5b8035906020019184600183028401116401000000008311171561055657600080fd5b90919293919293908035906020019064010000000081111561057757600080fd5b82018360208201111561058957600080fd5b803590602001918460018302840111640100000000831117156105ab57600080fd5b9091929391929390505050611979565b005b610654600480360360408110156105d357600080fd5b81019080803590602001906401000000008111156105f057600080fd5b82018360208201111561060257600080fd5b8035906020019184600183028401116401000000008311171561062457600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611af0565b005b6106cd6004803603602081101561066c57600080fd5b810190808035906020019064010000000081111561068957600080fd5b82018360208201111561069b57600080fd5b803590602001918460018302840111640100000000831117156106bd57600080fd5b9091929391929390505050611c31565b005b6107bb600480360360608110156106e557600080fd5b810190808035906020019064010000000081111561070257600080fd5b82018360208201111561071457600080fd5b8035906020019184600183028401116401000000008311171561073657600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561077757600080fd5b82018360208201111561078957600080fd5b803590602001918460018302840111640100000000831117156107ab57600080fd5b9091929391929390505050611d09565b005b6107c5611e80565b604051808215151515815260200191505060405180910390f35b6107e7611f47565b604051808215151515815260200191505060405180910390f35b6109226004803603606081101561081757600080fd5b810190808035906020019064010000000081111561083457600080fd5b82018360208201111561084657600080fd5b8035906020019184600183028401116401000000008311171561086857600080fd5b90919293919293908035906020019064010000000081111561088957600080fd5b82018360208201111561089b57600080fd5b803590602001918460018302840111640100000000831117156108bd57600080fd5b9091929391929390803590602001906401000000008111156108de57600080fd5b8201836020820111156108f057600080fd5b8035906020019184600183028401116401000000008311171561091257600080fd5b909192939192939050505061200c565b005b6109666004803603602081101561093a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612184565b005b6109aa6004803603602081101561097e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061225b565b005b610a9a600480360360a08110156109c257600080fd5b81019080803590602001906401000000008111156109df57600080fd5b8201836020820111156109f157600080fd5b80359060200191846001830284011164010000000083111715610a1357600080fd5b909192939192939080359060200190640100000000811115610a3457600080fd5b820183602082011115610a4657600080fd5b80359060200191846001830284011164010000000083111715610a6857600080fd5b909192939192939080359060200190929190803515159060200190929190803515159060200190929190505050612363565b005b610b6860048036036040811015610ab257600080fd5b8101908080359060200190640100000000811115610acf57600080fd5b820183602082011115610ae157600080fd5b80359060200191846001830284011164010000000083111715610b0357600080fd5b909192939192939080359060200190640100000000811115610b2457600080fd5b820183602082011115610b3657600080fd5b80359060200191846001830284011164010000000083111715610b5857600080fd5b90919293919293905050506124c8565b005b610beb60048036036040811015610b8057600080fd5b8101908080359060200190640100000000811115610b9d57600080fd5b820183602082011115610baf57600080fd5b80359060200191846001830284011164010000000083111715610bd157600080fd5b90919293919293908035906020019092919050505061260a565b005b610c8460048036036040811015610c0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610c4057600080fd5b820183602082011115610c5257600080fd5b80359060200191846001830284011164010000000083111715610c7457600080fd5b909192939192939050505061271f565b604051808215151515815260200191505060405180910390f35b610d8a60048036036060811015610cb457600080fd5b8101908080359060200190640100000000811115610cd157600080fd5b820183602082011115610ce357600080fd5b80359060200191846001830284011164010000000083111715610d0557600080fd5b909192939192939080359060200190640100000000811115610d2657600080fd5b820183602082011115610d3857600080fd5b80359060200191846001830284011164010000000083111715610d5a57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612853565b005b610e2d60048036036060811015610da257600080fd5b8101908080359060200190640100000000811115610dbf57600080fd5b820183602082011115610dd157600080fd5b80359060200191846001830284011164010000000083111715610df357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506129ca565b005b610efb60048036036040811015610e4557600080fd5b8101908080359060200190640100000000811115610e6257600080fd5b820183602082011115610e7457600080fd5b80359060200191846001830284011164010000000083111715610e9657600080fd5b909192939192939080359060200190640100000000811115610eb757600080fd5b820183602082011115610ec957600080fd5b80359060200191846001830284011164010000000083111715610eeb57600080fd5b9091929391929390505050612b14565b005b610fe960048036036060811015610f1357600080fd5b8101908080359060200190640100000000811115610f3057600080fd5b820183602082011115610f4257600080fd5b80359060200191846001830284011164010000000083111715610f6457600080fd5b909192939192939080359060200190640100000000811115610f8557600080fd5b820183602082011115610f9757600080fd5b80359060200191846001830284011164010000000083111715610fb957600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c56565b005b6110826004803603604081101561100157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561103e57600080fd5b82018360208201111561105057600080fd5b8035906020019184600183028401116401000000008311171561107257600080fd5b9091929391929390505050612dcd565b604051808215151515815260200191505060405180910390f35b6110d2600480360360408110156110b257600080fd5b810190808035906020019092919080359060200190929190505050612f01565b005b6111a0600480360360408110156110ea57600080fd5b810190808035906020019064010000000081111561110757600080fd5b82018360208201111561111957600080fd5b8035906020019184600183028401116401000000008311171561113b57600080fd5b90919293919293908035906020019064010000000081111561115c57600080fd5b82018360208201111561116e57600080fd5b8035906020019184600183028401116401000000008311171561119057600080fd5b9091929391929390505050612fb5565b005b611239600480360360408110156111b857600080fd5b81019080803590602001906401000000008111156111d557600080fd5b8201836020820111156111e757600080fd5b8035906020019184600183028401116401000000008311171561120957600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130f7565b005b6113076004803603604081101561125157600080fd5b810190808035906020019064010000000081111561126e57600080fd5b82018360208201111561128057600080fd5b803590602001918460018302840111640100000000831117156112a257600080fd5b9091929391929390803590602001906401000000008111156112c357600080fd5b8201836020820111156112d557600080fd5b803590602001918460018302840111640100000000831117156112f757600080fd5b9091929391929390505050613238565b005b61138a6004803603604081101561131f57600080fd5b810190808035906020019064010000000081111561133c57600080fd5b82018360208201111561134e57600080fd5b8035906020019184600183028401116401000000008311171561137057600080fd5b90919293919293908035906020019092919050505061337a565b005b6113ce600480360360208110156113a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061348f565b604051808215151515815260200191505060405180910390f35b61145f600480360360208110156113fe57600080fd5b810190808035906020019064010000000081111561141b57600080fd5b82018360208201111561142d57600080fd5b8035906020019184600183028401116401000000008311171561144f57600080fd5b909192939192939050505061358d565b6040518080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156114db5780820151818401526020810190506114c0565b50505050905090810190601f1680156115085780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b83811015611541578082015181840152602081019050611526565b50505050905090810190601f16801561156e5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dbfad7118686868686336040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252878782818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156116d557600080fd5b505af11580156116e9573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166388843041848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561181857600080fd5b505af115801561182c573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b6102208787878787876040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018060200184810384528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508481038252868682818152602001925080828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b15801561195957600080fd5b505af115801561196d573d6000803e3d6000fd5b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638baa81918686868686336040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015611ad157600080fd5b505af1158015611ae5573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b20f45f848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611c1457600080fd5b505af1158015611c28573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f25c28883836040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663404bf3eb8686868686336040518763ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015611e6157600080fd5b505af1158015611e75573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344478e796040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f0757600080fd5b505af1158015611f1b573d6000803e3d6000fd5b505050506040513d6020811015611f3157600080fd5b8101908080519060200190929190505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634cbfa82e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611fcc57600080fd5b505afa158015611fe0573d6000803e3d6000fd5b505050506040513d6020811015611ff657600080fd5b8101908080519060200190929190505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a64d2860878787878787336040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184810384528b8b82818152602001925080828437600081840152601f19601f8201169050808301925050508481038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508481038252878782818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561216457600080fd5b505af1158015612178573d6000803e3d6000fd5b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634fe57e7a826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561224057600080fd5b505af1158015612254573d6000803e3d6000fd5b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b04c27688888888888888336040518963ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200187815260200186151515158152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183810383528b8b82818152602001925080828437600081840152601f19601f8201169050808301925050508381038252898982818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b1580156124a757600080fd5b505af11580156124bb573d6000803e3d6000fd5b5050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663655a8ef585858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b1580156125ec57600080fd5b505af1158015612600573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5546564848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561270257600080fd5b505af1158015612716573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636b568d768585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060206040518083038186803b15801561280f57600080fd5b505afa158015612823573d6000803e3d6000fd5b505050506040513d602081101561283957600080fd5b810190808051906020019092919050505090509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633bc07dea8686868686336040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252878782818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156129ab57600080fd5b505af11580156129bf573d6000803e3d6000fd5b505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166304e81f1e85858585336040518663ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612af657600080fd5b505af1158015612b0a573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3dc8e0985858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015612c3857600080fd5b505af1158015612c4c573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f922f8028686868686336040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352898982818152602001925080828437600081840152601f19601f8201169050808301925050508381038252878782818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612dae57600080fd5b505af1158015612dc2573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639bd381018585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060206040518083038186803b158015612ebd57600080fd5b505afa158015612ed1573d6000803e3d6000fd5b505050506040513d6020811015612ee757600080fd5b810190808051906020019092919050505090509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a5843f0883836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050600060405180830381600087803b158015612f9957600080fd5b505af1158015612fad573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ca5adbe85858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b1580156130d957600080fd5b505af11580156130ed573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631c249912848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561321b57600080fd5b505af115801561322f573d6000803e3d6000fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359a260a385858585336040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561335c57600080fd5b505af1158015613370573d6000803e3d6000fd5b5050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633cf5f33b848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561347257600080fd5b505af1158015613486573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d1aa0c20836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561354b57600080fd5b505afa15801561355f573d6000803e3d6000fd5b505050506040513d602081101561357557600080fd5b81019080805190602001909291905050509050919050565b6060806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f346a3a787876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561364d57600080fd5b505afa158015613661573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250608081101561368b57600080fd5b8101908080516401000000008111156136a357600080fd5b828101905060208101848111156136b957600080fd5b81518560018202830111640100000000821117156136d657600080fd5b505092919060200180516401000000008111156136f257600080fd5b8281019050602081018481111561370857600080fd5b815185600182028301116401000000008211171561372557600080fd5b5050929190602001805190602001909291908051906020019092919050505093509350935093509295919450925056fea165627a7a723058202050a6b30d498b1ad9474798e28e302308a03931a8e3374b3dd26ac7e19d6acf0029 \ No newline at end of file diff --git a/permission/contract/gen/PermissionsUpgradable.bin b/permission/contract/gen/PermissionsUpgradable.bin index d9159737b..dc8fda5b7 100644 --- a/permission/contract/gen/PermissionsUpgradable.bin +++ b/permission/contract/gen/PermissionsUpgradable.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5060405160208061079f8339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a03199092169190911790556002805460a060020a60ff021916905561072d806100726000396000f3fe608060405234801561001057600080fd5b506004361061005a5760e060020a60003504630e32cf90811461005f57806322bcb39a14610083578063a75b87d2146100ab578063e572515c146100b3578063f09a4016146100bb575b600080fd5b6100676100e9565b60408051600160a060020a039092168252519081900360200190f35b6100a96004803603602081101561009957600080fd5b5035600160a060020a03166100f8565b005b610067610341565b610067610350565b6100a9600480360360408110156100d157600080fd5b50600160a060020a038135811691602001351661035f565b600154600160a060020a031690565b600054600160a060020a0316331461017157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b60608060606000600160009054906101000a9004600160a060020a0316600160a060020a031663cc9ba6fa6040518163ffffffff1660e060020a02815260040160006040518083038186803b1580156101c957600080fd5b505afa1580156101dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561020657600080fd5b81019080805164010000000081111561021e57600080fd5b8201602081018481111561023157600080fd5b815164010000000081118282018710171561024b57600080fd5b5050929190602001805164010000000081111561026757600080fd5b8201602081018481111561027a57600080fd5b815164010000000081118282018710171561029457600080fd5b505092919060200180516401000000008111156102b057600080fd5b820160208101848111156102c357600080fd5b81516401000000008111828201871017156102dd57600080fd5b50506020909101519498509296509194509192506103029150869050858585856104e2565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03878116919091179182905561033a9116610686565b5050505050565b600054600160a060020a031690565b600254600160a060020a031690565b600054600160a060020a031633146103d857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b60025474010000000000000000000000000000000000000000900460ff161561046257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f63616e206265206578656375746564206f6e6c79206f6e636500000000000000604482015290519081900360640190fd5b60018054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff199283161792839055600280548683169316929092179091556104a99116610686565b50506002805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b84600160a060020a031663f5ad584a858585856040518563ffffffff1660e060020a0281526004018080602001806020018060200185151515158152602001848103845288818151815260200191508051906020019080838360005b8381101561055657818101518382015260200161053e565b50505050905090810190601f1680156105835780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b838110156105b657818101518382015260200161059e565b50505050905090810190601f1680156105e35780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b838110156106165781810151838201526020016105fe565b50505050905090810190601f1680156106435780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561066757600080fd5b505af115801561067b573d6000803e3d6000fd5b505050505050505050565b600254604080517f511bbd9f000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151919092169163511bbd9f91602480830192600092919082900301818387803b1580156106ed57600080fd5b505af115801561033a573d6000803e3d6000fdfea165627a7a7230582051e3d1c0377443aca16ebe499d6aa52fd49e5c99a7b5500043edb00980c01b1b0029 \ No newline at end of file +608060405234801561001057600080fd5b50604051602080610b2d8339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260146101000a81548160ff02191690831515021790555050610a81806100ac6000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c0100000000000000000000000000000000000000000000000000000000900480630e32cf901461007957806322bcb39a146100c3578063a75b87d214610107578063e572515c14610151578063f09a40161461019b575b600080fd5b6100816101ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610105600480360360208110156100d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610229565b005b61010f61053c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610159610565565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101fd600480360360408110156101b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061058f565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b60608060606000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc9ba6fa6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160006040518083038186803b15801561037857600080fd5b505afa15801561038c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060808110156103b657600080fd5b8101908080516401000000008111156103ce57600080fd5b828101905060208101848111156103e457600080fd5b815185600182028301116401000000008211171561040157600080fd5b5050929190602001805164010000000081111561041d57600080fd5b8281019050602081018481111561043357600080fd5b815185600182028301116401000000008211171561045057600080fd5b5050929190602001805164010000000081111561046c57600080fd5b8281019050602081018481111561048257600080fd5b815185600182028301116401000000008211171561049f57600080fd5b50509291906020018051906020019092919050505093509350935093506104c985858585856107a4565b84600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610535600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661097d565b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600260149054906101000a900460ff161515156106d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616e206265206578656375746564206f6e6c79206f6e63650000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610785600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661097d565b6001600260146101000a81548160ff0219169083151502179055505050565b8473ffffffffffffffffffffffffffffffffffffffff1663f5ad584a858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018060200185151515158152602001848103845288818151815260200191508051906020019080838360005b83811015610841578082015181840152602081019050610826565b50505050905090810190601f16801561086e5780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b838110156108a757808201518184015260208101905061088c565b50505050905090810190601f1680156108d45780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b8381101561090d5780820151818401526020810190506108f2565b50505050905090810190601f16801561093a5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561095e57600080fd5b505af1158015610972573d6000803e3d6000fd5b505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663511bbd9f826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610a3a57600080fd5b505af1158015610a4e573d6000803e3d6000fd5b505050505056fea165627a7a72305820a69be38949309cbde1b8d82ce4b123302bc26f41a0a3d4ffea64bc54d30d059d0029 \ No newline at end of file diff --git a/permission/contract/gen/RoleManager.bin b/permission/contract/gen/RoleManager.bin index 1eb19f97a..efe232cb3 100644 --- a/permission/contract/gen/RoleManager.bin +++ b/permission/contract/gen/RoleManager.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5060405160208061221f8339810180604052602081101561003057600080fd5b505160008054600160a060020a03909216600160a060020a03199092169190911790556121bd806100626000396000f3fe608060405234801561001057600080fd5b506004361061008c5760003560e060020a90048063a63430121161005f578063a6343012146103c6578063abf5739f14610488578063be322e5414610650578063deb16ba7146107645761008c565b80631870aba3146100915780637b7135791461025157806387f55d311461038f578063a451d4a8146103a9575b600080fd5b610153600480360360408110156100a757600080fd5b8101906020810181356401000000008111156100c257600080fd5b8201836020820111156100d457600080fd5b803590602001918460018302840111640100000000831117156100f657600080fd5b91939092909160208101903564010000000081111561011457600080fd5b82018360208201111561012657600080fd5b8035906020019184600183028401116401000000008311171561014857600080fd5b509092509050610878565b604080519081018590528315156060820152821515608082015281151560a082015260c08082528751908201528651819060208083019160e08401918b019080838360005b838110156101b0578181015183820152602001610198565b50505050905090810190601f1680156101dd5780820380516001836020036101000a031916815260200191505b5083810382528851815288516020918201918a019080838360005b838110156102105781810151838201526020016101f8565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b61038d600480360360a081101561026757600080fd5b81019060208101813564010000000081111561028257600080fd5b82018360208201111561029457600080fd5b803590602001918460018302840111640100000000831117156102b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561030957600080fd5b82018360208201111561031b57600080fd5b8035906020019184600183028401116401000000008311171561033d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135151590604001351515610bfe565b005b610397611149565b60408051918252519081900360200190f35b610153600480360360208110156103bf57600080fd5b5035611150565b61038d600480360360408110156103dc57600080fd5b8101906020810181356401000000008111156103f757600080fd5b82018360208201111561040957600080fd5b8035906020019184600183028401116401000000008311171561042b57600080fd5b91939092909160208101903564010000000081111561044957600080fd5b82018360208201111561045b57600080fd5b8035906020019184600183028401116401000000008311171561047d57600080fd5b50909250905061136e565b61063c6004803603606081101561049e57600080fd5b8101906020810181356401000000008111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460018302840111640100000000831117156104ed57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561054057600080fd5b82018360208201111561055257600080fd5b8035906020019184600183028401116401000000008311171561057457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156105c757600080fd5b8201836020820111156105d957600080fd5b803590602001918460018302840111640100000000831117156105fb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611666945050505050565b604080519115158252519081900360200190f35b61063c6004803603606081101561066657600080fd5b81019060208101813564010000000081111561068157600080fd5b82018360208201111561069357600080fd5b803590602001918460018302840111640100000000831117156106b557600080fd5b9193909290916020810190356401000000008111156106d357600080fd5b8201836020820111156106e557600080fd5b8035906020019184600183028401116401000000008311171561070757600080fd5b91939092909160208101903564010000000081111561072557600080fd5b82018360208201111561073757600080fd5b8035906020019184600183028401116401000000008311171561075957600080fd5b5090925090506118da565b61063c6004803603606081101561077a57600080fd5b81019060208101813564010000000081111561079557600080fd5b8201836020820111156107a757600080fd5b803590602001918460018302840111640100000000831117156107c957600080fd5b9193909290916020810190356401000000008111156107e757600080fd5b8201836020820111156107f957600080fd5b8035906020019184600183028401116401000000008311171561081b57600080fd5b91939092909160208101903564010000000081111561083957600080fd5b82018360208201111561084b57600080fd5b8035906020019184600183028401116401000000008311171561086d57600080fd5b509092509050611c57565b6060806000806000806109028a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092018290525060408051602081019091529081529250611666915050565b151561096c57898960008060008085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805160208101909152908152939f50929d50959b509399509197509550610bf1945050505050565b60006109e18b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250611fc992505050565b90506001818154811015156109f257fe5b9060005260206000209060040201600001600182815481101515610a1257fe5b9060005260206000209060040201600101600183815481101515610a3257fe5b906000526020600020906004020160020154600184815481101515610a5357fe5b60009182526020909120600360049092020101546001805460ff9092169186908110610a7b57fe5b906000526020600020906004020160030160019054906101000a900460ff16600186815481101515610aa957fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff169290918891830182828015610b4e5780601f10610b2357610100808354040283529160200191610b4e565b820191906000526020600020905b815481529060010190602001808311610b3157829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a945092508401905082828015610bdc5780601f10610bb157610100808354040283529160200191610bdc565b820191906000526020600020905b815481529060010190602001808311610bbf57829003601f168201915b50505050509450965096509650965096509650505b9499939850945094509450565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610c4e57600080fd5b505afa158015610c62573d6000803e3d6000fd5b505050506040513d6020811015610c7857600080fd5b5051600160a060020a03163314610cc7576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610d11578181015183820152602001610cf9565b50505050905090810190601f168015610d3e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610d71578181015183820152602001610d59565b50505050905090810190601f168015610d9e5780820380516001836020036101000a031916815260200191505b50945050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515610e23576040805160e560020a62461bcd02815260206004820152601760248201527f726f6c652065786973747320666f7220746865206f7267000000000000000000604482015290519081900360640190fd5b60038054600101908190556040805160208082018381528951606084015289516002946000948c948c94938493830192608001918701908083838b5b83811015610e77578181015183820152602001610e5f565b50505050905090810190601f168015610ea45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610ed7578181015183820152602001610ebf565b50505050905090810190601f168015610f045780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291815281516020928301208852878201989098529587016000908120989098555050845160c0810186528b81528085018b905294850189905250505084151560608301528315156080830152600160a083018190528054808201808355919094528251805191946004027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60192610fae928492909101906120d9565b506020828101518051610fc792600185019201906120d9565b5060408281015160028301556060808401516003909301805460808087015160a09788015160ff199093169615159690961761ff001916610100961515969096029590951762ff0000191662010000911515919091021790558151918201889052861515908201528415159181019190915281815287519181019190915286517fefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c92508791879187918791879190819060208083019160c08401918a019080838360005b838110156110a357818101518382015260200161108b565b50505050905090810190601f1680156110d05780820380516001836020036101000a031916815260200191505b50838103825287518152875160209182019189019080838360005b838110156111035781810151838201526020016110eb565b50505050905090810190601f1680156111305780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050565b6001545b90565b60608060008060008060018781548110151561116857fe5b906000526020600020906004020160000160018881548110151561118857fe5b90600052602060002090600402016001016001898154811015156111a857fe5b90600052602060002090600402016002015460018a8154811015156111c957fe5b60009182526020909120600360049092020101546001805460ff909216918c9081106111f157fe5b906000526020600020906004020160030160019054906101000a900460ff1660018c81548110151561121f57fe5b6000918252602091829020600491909102016003015486546040805160026101006001851615026000190190931692909204601f81018590048502830185019091528082526201000090920460ff1692909188918301828280156112c45780601f10611299576101008083540402835291602001916112c4565b820191906000526020600020905b8154815290600101906020018083116112a757829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a9450925084019050828280156113525780601f1061132757610100808354040283529160200191611352565b820191906000526020600020905b81548152906001019060200180831161133557829003601f168201915b5050505050945095509550955095509550955091939550919395565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156113be57600080fd5b505afa1580156113d2573d6000803e3d6000fd5b505050506040513d60208110156113e857600080fd5b5051600160a060020a03163314611437576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b60026000858585856040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f820116905080830192505050965050505050505060405160208183030381529060405280519060200120815260200190815260200160002054600014151515611523576040805160e560020a62461bcd02815260206004820152601360248201527f726f6c6520646f6573206e6f7420657869737400000000000000000000000000604482015290519081900360640190fd5b600061159885858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781529250879150869081908401838280828437600092019190915250611fc992505050565b905060006001828154811015156115ab57fe5b906000526020600020906004020160030160026101000a81548160ff0219169083151502179055507f1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6858585856040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b600080600260008686604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156116b357818101518382015260200161169b565b50505050905090810190601f1680156116e05780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156117135781810151838201526020016116fb565b50505050905090810190601f1680156117405780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415156117b75761177f8585611fc9565b905060018181548110151561179057fe5b906000526020600020906004020160030160029054906101000a900460ff169150506118d3565b600260008685604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156118015781810151838201526020016117e9565b50505050905090810190601f16801561182e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611861578181015183820152602001611849565b50505050905090810190601f16801561188e5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415156118cd5761177f8584611fc9565b60009150505b9392505050565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561192c57600080fd5b505afa158015611940573d6000803e3d6000fd5b505050506040513d602081101561195657600080fd5b5051600160a060020a031633146119a5576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b611a4c87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061166692505050565b1515611a5a57506000611c4d565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611b7157611b6a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a9150899081908401838280828437600092019190915250611fc992505050565b9050611be7565b611be488888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250611fc992505050565b90505b6001805482908110611bf557fe5b906000526020600020906004020160030160029054906101000a900460ff168015611c4957506001805482908110611c2957fe5b906000526020600020906004020160030160019054906101000a900460ff165b9150505b9695505050505050565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611ca957600080fd5b505afa158015611cbd573d6000803e3d6000fd5b505050506040513d6020811015611cd357600080fd5b5051600160a060020a03163314611d22576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020612172833981519152604482015290519081900360640190fd5b611dc987878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061166692505050565b1515611dd757506000611c4d565b600060026000898989896040516020018080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020546000141515611eee57611ee788888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a9150899081908401838280828437600092019190915250611fc992505050565b9050611f64565b611f6188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881529250889150879081908401838280828437600092019190915250611fc992505050565b90505b6001805482908110611f7257fe5b906000526020600020906004020160030160029054906101000a900460ff168015611c4957506001805482908110611fa657fe5b600091825260209091206004909102016003015460ff1698975050505050505050565b60006001600260008585604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612017578181015183820152602001611fff565b50505050905090810190601f1680156120445780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561207757818101518382015260200161205f565b50505050905090810190601f1680156120a45780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205403905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061211a57805160ff1916838001178555612147565b82800160010185558215612147579182015b8281111561214757825182559160200191906001019061212c565b50612153929150612157565b5090565b61114d91905b80821115612153576000815560010161215d56fe696e76616c69642063616c6c6572000000000000000000000000000000000000a165627a7a72305820219c24ae118fc62e24df1c696bc05cd0fa79109a9630fb653ff262d71a9034c00029 \ No newline at end of file +608060405234801561001057600080fd5b506040516020806129598339810180604052602081101561003057600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506128c8806100916000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c010000000000000000000000000000000000000000000000000000000090048063a634301211610078578063a634301214610552578063abf5739f14610620578063be322e5414610821578063deb16ba71461095c576100a5565b80631870aba3146100aa5780637b7135791461028557806387f55d31146103f9578063a451d4a814610417575b600080fd5b610176600480360360408110156100c057600080fd5b81019080803590602001906401000000008111156100dd57600080fd5b8201836020820111156100ef57600080fd5b8035906020019184600183028401116401000000008311171561011157600080fd5b90919293919293908035906020019064010000000081111561013257600080fd5b82018360208201111561014457600080fd5b8035906020019184600183028401116401000000008311171561016657600080fd5b9091929391929390505050610a97565b604051808060200180602001878152602001861515151581526020018515151515815260200184151515158152602001838103835289818151815260200191508051906020019080838360005b838110156101de5780820151818401526020810190506101c3565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b83811015610244578082015181840152602081019050610229565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b6103f7600480360360a081101561029b57600080fd5b81019080803590602001906401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460018302840111640100000000831117156102ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561034f57600080fd5b82018360208201111561036157600080fd5b8035906020019184600183028401116401000000008311171561038357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803515159060200190929190803515159060200190929190505050610e9b565b005b6104016114db565b6040518082815260200191505060405180910390f35b6104436004803603602081101561042d57600080fd5b81019080803590602001909291905050506114e8565b604051808060200180602001878152602001861515151581526020018515151515815260200184151515158152602001838103835289818151815260200191508051906020019080838360005b838110156104ab578082015181840152602081019050610490565b50505050905090810190601f1680156104d85780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156105115780820151818401526020810190506104f6565b50505050905090810190601f16801561053e5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b61061e6004803603604081101561056857600080fd5b810190808035906020019064010000000081111561058557600080fd5b82018360208201111561059757600080fd5b803590602001918460018302840111640100000000831117156105b957600080fd5b9091929391929390803590602001906401000000008111156105da57600080fd5b8201836020820111156105ec57600080fd5b8035906020019184600183028401116401000000008311171561060e57600080fd5b9091929391929390505050611729565b005b6108076004803603606081101561063657600080fd5b810190808035906020019064010000000081111561065357600080fd5b82018360208201111561066557600080fd5b8035906020019184600183028401116401000000008311171561068757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156106ea57600080fd5b8201836020820111156106fc57600080fd5b8035906020019184600183028401116401000000008311171561071e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561078157600080fd5b82018360208201111561079357600080fd5b803590602001918460018302840111640100000000831117156107b557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b08565b604051808215151515815260200191505060405180910390f35b6109426004803603606081101561083757600080fd5b810190808035906020019064010000000081111561085457600080fd5b82018360208201111561086657600080fd5b8035906020019184600183028401116401000000008311171561088857600080fd5b9091929391929390803590602001906401000000008111156108a957600080fd5b8201836020820111156108bb57600080fd5b803590602001918460018302840111640100000000831117156108dd57600080fd5b9091929391929390803590602001906401000000008111156108fe57600080fd5b82018360208201111561091057600080fd5b8035906020019184600183028401116401000000008311171561093257600080fd5b9091929391929390505050611dc6565b604051808215151515815260200191505060405180910390f35b610a7d6004803603606081101561097257600080fd5b810190808035906020019064010000000081111561098f57600080fd5b8201836020820111156109a157600080fd5b803590602001918460018302840111640100000000831117156109c357600080fd5b9091929391929390803590602001906401000000008111156109e457600080fd5b8201836020820111156109f657600080fd5b80359060200191846001830284011164010000000083111715610a1857600080fd5b909192939192939080359060200190640100000000811115610a3957600080fd5b820183602082011115610a4b57600080fd5b80359060200191846001830284011164010000000083111715610a6d57600080fd5b9091929391929390505050612252565b604051808215151515815260200191505060405180910390f35b606080600080600080610b438a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506020604051908101604052806000815250611b08565b1515610bc757898960008060008085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509450909192939450602060405190810160405280600081525093929190839350955095509550955095509550610e8e565b6000610c5b8b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b9050600181815481101515610c6c57fe5b9060005260206000209060040201600001600182815481101515610c8c57fe5b9060005260206000209060040201600101600183815481101515610cac57fe5b906000526020600020906004020160020154600184815481101515610ccd57fe5b906000526020600020906004020160030160009054906101000a900460ff16600185815481101515610cfb57fe5b906000526020600020906004020160030160019054906101000a900460ff16600186815481101515610d2957fe5b906000526020600020906004020160030160029054906101000a900460ff16858054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddd5780601f10610db257610100808354040283529160200191610ddd565b820191906000526020600020905b815481529060010190602001808311610dc057829003601f168201915b50505050509550848054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e795780601f10610e4e57610100808354040283529160200191610e79565b820191906000526020600020905b815481529060010190602001808311610e5c57829003601f168201915b50505050509450965096509650965096509650505b9499939850945094509450565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015610f1e57600080fd5b505afa158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ffb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6000600260008787604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561104a57808201518184015260208101905061102f565b50505050905090810190601f1680156110775780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156110b0578082015181840152602081019050611095565b50505050905090810190601f1680156110dd5780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205414151561117e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f726f6c652065786973747320666f7220746865206f726700000000000000000081525060200191505060405180910390fd5b600360008154809291906001019190505550600354600260008787604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156111e05780820151818401526020810190506111c5565b50505050905090810190601f16801561120d5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561124657808201518184015260208101905061122b565b50505050905090810190601f1680156112735780820380516001836020036101000a031916815260200191505b5094505050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600160c06040519081016040528087815260200186815260200185815260200184151581526020018315158152602001600115158152509080600181540180825580915050906001820390600052602060002090600402016000909192909190915060008201518160000190805190602001906113209291906127f7565b50602082015181600101908051906020019061133d9291906127f7565b506040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160030160016101000a81548160ff02191690831515021790555060a08201518160030160026101000a81548160ff0219169083151502179055505050507fefa5bc1bedbee25b04b00855c15a0c180ecb4a2440d4d08296e49561655e2b1c85858585856040518080602001806020018681526020018515151515815260200184151515158152602001838103835288818151815260200191508051906020019080838360005b8381101561142f578082015181840152602081019050611414565b50505050905090810190601f16801561145c5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b8381101561149557808201518184015260208101905061147a565b50505050905090810190601f1680156114c25780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050565b6000600180549050905090565b60608060008060008060018781548110151561150057fe5b906000526020600020906004020160000160018881548110151561152057fe5b906000526020600020906004020160010160018981548110151561154057fe5b90600052602060002090600402016002015460018a81548110151561156157fe5b906000526020600020906004020160030160009054906101000a900460ff1660018b81548110151561158f57fe5b906000526020600020906004020160030160019054906101000a900460ff1660018c8154811015156115bd57fe5b906000526020600020906004020160030160029054906101000a900460ff16858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116715780601f1061164657610100808354040283529160200191611671565b820191906000526020600020905b81548152906001019060200180831161165457829003601f168201915b50505050509550848054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561170d5780601f106116e25761010080835404028352916020019161170d565b820191906000526020600020905b8154815290600101906020018083116116f057829003601f168201915b5050505050945095509550955095509550955091939550919395565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156117ac57600080fd5b505afa1580156117c0573d6000803e3d6000fd5b505050506040513d60208110156117d657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611889576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600060026000868686866040516020018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020541415151561199b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f726f6c6520646f6573206e6f742065786973740000000000000000000000000081525060200191505060405180910390fd5b6000611a2f85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90506000600182815481101515611a4257fe5b906000526020600020906004020160030160026101000a81548160ff0219169083151502179055507f1196059dd83524bf989fd94bb65808c09dbea2ab791fb6bfa87a0e0aa64b2ea6858585856040518080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000806000600260008787604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611b5a578082015181840152602081019050611b3f565b50505050905090810190601f168015611b875780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611bc0578082015181840152602081019050611ba5565b50505050905090810190601f168015611bed5780820380516001836020036101000a031916815260200191505b5094505050505060405160208183030381529060405280519060200120815260200190815260200160002054141515611c6257611c2a85856126de565b9050600181815481101515611c3b57fe5b906000526020600020906004020160030160029054906101000a900460ff16915050611dbf565b6000600260008786604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611cb1578082015181840152602081019050611c96565b50505050905090810190601f168015611cde5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611d17578082015181840152602081019050611cfc565b50505050905090810190601f168015611d445780820380516001836020036101000a031916815260200191505b5094505050505060405160208183030381529060405280519060200120815260200190815260200160002054141515611db957611d8185846126de565b9050600181815481101515611d9257fe5b906000526020600020906004020160030160029054906101000a900460ff16915050611dbf565b60009150505b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e4b57600080fd5b505afa158015611e5f573d6000803e3d6000fd5b505050506040513d6020811015611e7557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b611fff87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611b08565b151561200e5760009050612248565b600080600260008a8a8a8a6040516020018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505096505050505050506040516020818303038152906040528051906020012081526020019081526020016000205414151561214b5761214488888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90506121e0565b6121dd88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90505b6001818154811015156121ef57fe5b906000526020600020906004020160030160029054906101000a900460ff168015612244575060018181548110151561222457fe5b906000526020600020906004020160030160019054906101000a900460ff165b9150505b9695505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156122d757600080fd5b505afa1580156122eb573d6000803e3d6000fd5b505050506040513d602081101561230157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b61248b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050611b08565b151561249a57600090506126d4565b600080600260008a8a8a8a6040516020018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052805190602001208152602001908152602001600020541415156125d7576125d088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b905061266c565b61266988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506126de565b90505b60018181548110151561267b57fe5b906000526020600020906004020160030160029054906101000a900460ff1680156126d057506001818154811015156126b057fe5b906000526020600020906004020160030160009054906101000a900460ff165b9150505b9695505050505050565b60006001600260008585604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561272f578082015181840152602081019050612714565b50505050905090810190601f16801561275c5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561279557808201518184015260208101905061277a565b50505050905090810190601f1680156127c25780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040528051906020012081526020019081526020016000205403905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061283857805160ff1916838001178555612866565b82800160010185558215612866579182015b8281111561286557825182559160200191906001019061284a565b5b5090506128739190612877565b5090565b61289991905b8082111561289557600081600090555060010161287d565b5090565b9056fea165627a7a723058200fa363dbf5823416afc50571373c9cbb5360d4a7fa817a2c171a9e4302238b890029 \ No newline at end of file diff --git a/permission/contract/gen/VoterManager.bin b/permission/contract/gen/VoterManager.bin index 96cfb7889..1afad780c 100644 --- a/permission/contract/gen/VoterManager.bin +++ b/permission/contract/gen/VoterManager.bin @@ -1 +1 @@ -6080604052600060035534801561001557600080fd5b506040516020806120968339810180604052602081101561003557600080fd5b505160008054600160a060020a03909216600160a060020a031990921691909117905561202f806100676000396000f3fe608060405234801561001057600080fd5b506004361061005a5760e060020a6000350463014e6acc811461005f5780635607395b146101cd57806359cbd6fe14610248578063b0213864146102c1578063e98ac22d14610354575b600080fd5b6100cf6004803603602081101561007557600080fd5b81019060208101813564010000000081111561009057600080fd5b8201836020820111156100a257600080fd5b803590602001918460018302840111640100000000831117156100c457600080fd5b509092509050610477565b60405180806020018060200185600160a060020a0316600160a060020a03168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b610246600480360360408110156101e357600080fd5b8101906020810181356401000000008111156101fe57600080fd5b82018360208201111561021057600080fd5b8035906020019184600183028401116401000000008311171561023257600080fd5b919350915035600160a060020a031661074e565b005b6102466004803603604081101561025e57600080fd5b81019060208101813564010000000081111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460018302840111640100000000831117156102ad57600080fd5b919350915035600160a060020a0316610f63565b610340600480360360608110156102d757600080fd5b8101906020810181356401000000008111156102f257600080fd5b82018360208201111561030457600080fd5b8035906020019184600183028401116401000000008311171561032657600080fd5b9193509150600160a060020a03813516906020013561124d565b604080519115158252519081900360200190f35b610246600480360360a081101561036a57600080fd5b81019060208101813564010000000081111561038557600080fd5b82018360208201111561039757600080fd5b803590602001918460018302840111640100000000831117156103b957600080fd5b9193909290916020810190356401000000008111156103d757600080fd5b8201836020820111156103e957600080fd5b8035906020019184600183028401116401000000008311171561040b57600080fd5b91939092909160208101903564010000000081111561042957600080fd5b82018360208201111561043b57600080fd5b8035906020019184600183028401116401000000008311171561045d57600080fd5b9193509150600160a060020a038135169060200135611772565b6060806000806000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b5051600160a060020a03163314610546576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b600061058787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b905060018181548110151561059857fe5b90600052602060002090600b02016004016000016001828154811015156105bb57fe5b90600052602060002090600b02016004016001016001838154811015156105de57fe5b600091825260209091206006600b90920201015460018054600160a060020a03909216918590811061060c57fe5b60009182526020918290206007600b909202010154845460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815291928691908301828280156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b5050505050925094509450945094505092959194509250565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561079e57600080fd5b505afa1580156107b2573d6000803e3d6000fd5b505050506040513d60208110156107c857600080fd5b5051600160a060020a03163314610817576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b60026000848460405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012081526020019081526020016000205460001415610bac576003805460010190819055604080516020808201908152918101859052600291600091879187918190606001848480828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001208152602001908152602001600020819055506000600180548091906001016109119190611d54565b9050838360018381548110151561092457fe5b6000918252602090912061093e93600b9092020191611d85565b506001808281548110151561094f57fe5b90600052602060002090600b0201600101819055506001808281548110151561097457fe5b90600052602060002090600b020160020181905550600060018281548110151561099a57fe5b90600052602060002090600b02016003018190555060206040519081016040528060008152506001828154811015156109cf57fe5b90600052602060002090600b020160040160000190805190602001906109f6929190611e03565b506040805160208101909152600081526001805483908110610a1457fe5b90600052602060002090600b02016004016001019080519060200190610a3b929190611e03565b506000600182815481101515610a4d57fe5b600091825260208220600b9190910201600601805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0393909316929092179091556001805483908110610a9a57fe5b600091825260209091206007600b9092020101556001805482908110610abc57fe5b90600052602060002090600b020160010154600182815481101515610add57fe5b60009182526020808320600160a060020a03871684526009600b9093020191909101905260409020556001805482908110610b1457fe5b6000918252602080832060408051808201909152600160a060020a0387811682526001828501818152600b9690960290930160080180549384018155865292909420935193018054925173ffffffffffffffffffffffffffffffffffffffff19909316939091169290921774ff0000000000000000000000000000000000000000191660a060020a9115159190910217905550610eed565b6000610bed84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b9050600181815481101515610bfe57fe5b60009182526020808320600160a060020a03861684526009600b9093020191909101905260409020541515610d7b576001805482908110610c3b57fe5b600091825260209091206001600b909202018101805482019055805482908110610c6157fe5b90600052602060002090600b020160010154600182815481101515610c8257fe5b60009182526020808320600160a060020a03871684526009600b9093020191909101905260409020556001805482908110610cb957fe5b6000918252602080832060408051808201909152600160a060020a0387811682526001828501818152600b969096029093016008018054808501825590875293909520905192018054935173ffffffffffffffffffffffffffffffffffffffff19909416929094169190911774ff0000000000000000000000000000000000000000191660a060020a9215159290920291909117909155805482908110610d5c57fe5b600091825260209091206002600b909202010180546001019055610eeb565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250611c1c915050565b9050600182815481101515610dcf57fe5b90600052602060002090600b020160080181815481101515610ded57fe5b60009182526020909120015460a060020a900460ff16151560011415610e5d576040805160e560020a62461bcd02815260206004820152600f60248201527f616c7265616479206120766f7465720000000000000000000000000000000000604482015290519081900360640190fd5b60018083815481101515610e6d57fe5b90600052602060002090600b020160080182815481101515610e8b57fe5b6000918252602090912001805491151560a060020a0274ff0000000000000000000000000000000000000000199092169190911790556001805483908110610ecf57fe5b600091825260209091206002600b909202010180546001019055505b505b60408051600160a060020a03831660208201528181529081018390527f424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d34574908490849084908060608101858580828437600083820152604051601f909101601f1916909201829003965090945050505050a1505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610fb357600080fd5b505afa158015610fc7573d6000803e3d6000fd5b505050506040513d6020811015610fdd57600080fd5b5051600160a060020a0316331461102c576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250849250611070915083905082611c6e565b15156001146110c9576040805160e560020a62461bcd02815260206004820152600f60248201527f6d757374206265206120766f7465720000000000000000000000000000000000604482015290519081900360640190fd5b600061110a86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b9050600061114f87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250899250611c1c915050565b905060018281548110151561116057fe5b6000918252602082206002600b90920201018054600019019055600180548490811061118857fe5b90600052602060002090600b0201600801828154811015156111a657fe5b9060005260206000200160000160146101000a81548160ff0219169083151502179055507f654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b6878787604051808060200183600160a060020a0316600160a060020a031681526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a150505050505050565b60008060009054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561129f57600080fd5b505afa1580156112b3573d6000803e3d6000fd5b505050506040513d60208110156112c957600080fd5b5051600160a060020a03163314611318576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061135c915083905082611c6e565b15156001146113b5576040805160e560020a62461bcd02815260206004820152600f60248201527f6d757374206265206120766f7465720000000000000000000000000000000000604482015290519081900360640190fd5b6113f687878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250611d1e915050565b151560011461144f576040805160e560020a62461bcd02815260206004820152601260248201527f6e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b600061149088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b90506001818154811015156114a157fe5b60009182526020808320848452600a600b909302019190910181526040808320600160a060020a038a16845290915290205460ff16151560011415611530576040805160e560020a62461bcd02815260206004820152601260248201527f63616e6e6f7420646f75626c6520766f74650000000000000000000000000000604482015290519081900360640190fd5b600180548290811061153e57fe5b600091825260209091206003600b909202010180546001908101909155805481908390811061156957fe5b60009182526020808320858452600b92909202909101600a0181526040808320600160a060020a038b168452825291829020805460ff19169315159390931790925580518281529182018990527f87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508918a918a919081908101848480828437600083820152604051601f909101601f19169092018290039550909350505050a1600260018281548110151561161957fe5b90600052602060002090600b02016002015481151561163457fe5b0460018281548110151561164457fe5b90600052602060002090600b020160030154111561176257604080516020810190915260008152600180548390811061167957fe5b90600052602060002090600b020160040160000190805190602001906116a0929190611e03565b5060408051602081019091526000815260018054839081106116be57fe5b90600052602060002090600b020160040160010190805190602001906116e5929190611e03565b5060006001828154811015156116f757fe5b600091825260208220600b9190910201600601805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600180548390811061174457fe5b600091825260209091206007600b9092020101555060019250611768565b60009350505b5050949350505050565b6000809054906101000a9004600160a060020a0316600160a060020a0316630e32cf906040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b505050506040513d60208110156117ec57600080fd5b5051600160a060020a0316331461183b576040805160e560020a62461bcd02815260206004820152600e6024820152600080516020611fb0833981519152604482015290519081900360640190fd5b61187a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250611d1e915050565b15156118ba5760405160e560020a62461bcd028152600401808060200182810382526034815260200180611fd06034913960400191505060405180910390fd5b60006118fb89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b7492505050565b9050868660018381548110151561190e57fe5b90600052602060002090600b0201600401600001919061192f929190611d85565b50848460018381548110151561194157fe5b90600052602060002090600b02016004016001019190611962929190611d85565b508260018281548110151561197357fe5b90600052602060002090600b020160040160020160006101000a815481600160a060020a030219169083600160a060020a03160217905550816001828154811015156119bb57fe5b6000918252602082206007600b9092020101919091555b60018054839081106119e057fe5b90600052602060002090600b020160080180549050811015611ae2576001805483908110611a0a57fe5b90600052602060002090600b020160080181815481101515611a2857fe5b60009182526020909120015460a060020a900460ff1615611ada576000600183815481101515611a5457fe5b90600052602060002090600b0201600a0160008481526020019081526020016000206000600185815481101515611a8757fe5b90600052602060002090600b020160080184815481101515611aa557fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff19169115159190911790555b6001016119d2565b506000600182815481101515611af457fe5b90600052602060002090600b0201600301819055507f5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3898960405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a1505050505050505050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611bbd578181015183820152602001611ba5565b50505050905090810190601f168015611bea5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b600080611c2884611b74565b905060018082815481101515611c3a57fe5b60009182526020808320600160a060020a03881684526009600b909302019190910190526040902054039150505b92915050565b600080611c7a84611b74565b9050600181815481101515611c8b57fe5b60009182526020808320600160a060020a03871684526009600b9093020191909101905260409020541515611cc4576000915050611c68565b6000611cd08585611c1c565b9050600182815481101515611ce157fe5b90600052602060002090600b020160080181815481101515611cff57fe5b60009182526020909120015460a060020a900460ff1695945050505050565b6000816001611d2c85611b74565b81548110611d3657fe5b90600052602060002090600b02016004016003015414905092915050565b815481835581811115611d8057600b0281600b028360005260206000209182019101611d809190611e71565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611dc65782800160ff19823516178555611df3565b82800160010185558215611df3579182015b82811115611df3578235825591602001919060010190611dd8565b50611dff929150611f03565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e4457805160ff1916838001178555611df3565b82800160010185558215611df3579182015b82811115611df3578251825591602001919060010190611e56565b611f0091905b80821115611dff576000611e8b8282611f1d565b60006001830181905560028301819055600383018190556004830190611eb18282611f1d565b611ebf600183016000611f1d565b5060028101805473ffffffffffffffffffffffffffffffffffffffff1916905560006003909101819055611ef7906008840190611f64565b50600b01611e77565b90565b611f0091905b80821115611dff5760008155600101611f09565b50805460018160011615610100020316600290046000825580601f10611f435750611f61565b601f016020900490600052602060002090810190611f619190611f03565b50565b5080546000825590600052602060002090810190611f619190611f0091905b80821115611dff57805474ffffffffffffffffffffffffffffffffffffffffff19168155600101611f8356fe696e76616c69642063616c6c65720000000000000000000000000000000000006974656d732070656e64696e6720666f7220617070726f76616c2e206e6577206974656d2063616e6e6f74206265206164646564a165627a7a72305820a0e5ec1737ac16d4750a19b637b10d7bff539433fc67bc3440890a0e13ff63d90029 \ No newline at end of file +6080604052600060035534801561001557600080fd5b506040516020806129498339810180604052602081101561003557600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506128b3806100966000396000f3fe608060405234801561001057600080fd5b5060043610610074576000357c010000000000000000000000000000000000000000000000000000000090048063014e6acc146100795780635607395b1461021157806359cbd6fe146102aa578063b021386414610343578063e98ac22d146103fe575b600080fd5b6100f06004803603602081101561008f57600080fd5b81019080803590602001906401000000008111156100ac57600080fd5b8201836020820111156100be57600080fd5b803590602001918460018302840111640100000000831117156100e057600080fd5b909192939192939050505061054b565b6040518080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561016c578082015181840152602081019050610151565b50505050905090810190601f1680156101995780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b838110156101d25780820151818401526020810190506101b7565b50505050905090810190601f1680156101ff5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b6102a86004803603604081101561022757600080fd5b810190808035906020019064010000000081111561024457600080fd5b82018360208201111561025657600080fd5b8035906020019184600183028401116401000000008311171561027857600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108fa565b005b610341600480360360408110156102c057600080fd5b81019080803590602001906401000000008111156102dd57600080fd5b8201836020820111156102ef57600080fd5b8035906020019184600183028401116401000000008311171561031157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611336565b005b6103e46004803603606081101561035957600080fd5b810190808035906020019064010000000081111561037657600080fd5b82018360208201111561038857600080fd5b803590602001918460018302840111640100000000831117156103aa57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611728565b604051808215151515815260200191505060405180910390f35b610549600480360360a081101561041457600080fd5b810190808035906020019064010000000081111561043157600080fd5b82018360208201111561044357600080fd5b8035906020019184600183028401116401000000008311171561046557600080fd5b90919293919293908035906020019064010000000081111561048657600080fd5b82018360208201111561049857600080fd5b803590602001918460018302840111640100000000831117156104ba57600080fd5b9091929391929390803590602001906401000000008111156104db57600080fd5b8201836020820111156104ed57600080fd5b8035906020019184600183028401116401000000008311171561050f57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e0a565b005b6060806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156105d457600080fd5b505afa1580156105e8573d6000803e3d6000fd5b505050506040513d60208110156105fe57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600061070087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b905060018181548110151561071157fe5b90600052602060002090600b020160040160000160018281548110151561073457fe5b90600052602060002090600b020160040160010160018381548110151561075757fe5b90600052602060002090600b020160040160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018481548110151561079b57fe5b90600052602060002090600b020160040160030154838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108455780601f1061081a57610100808354040283529160200191610845565b820191906000526020600020905b81548152906001019060200180831161082857829003601f168201915b50505050509350828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108e15780601f106108b6576101008083540402835291602001916108e1565b820191906000526020600020905b8154815290600101906020018083116108c457829003601f168201915b5050505050925094509450945094505092959194509250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561097d57600080fd5b505afa158015610991573d6000803e3d6000fd5b505050506040513d60208110156109a757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b600060026000858560405160200180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050604051602081830303815290604052805190602001208152602001908152602001600020541415610e815760036000815480929190600101919050555060035460026000858560405160200180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405160208183030381529060405280519060200120815260200190815260200160002081905550600060018054809190600101610b5c919061258c565b90508383600183815481101515610b6f57fe5b90600052602060002090600b02016000019190610b8d9291906125be565b5060018082815481101515610b9e57fe5b90600052602060002090600b02016001018190555060018082815481101515610bc357fe5b90600052602060002090600b0201600201819055506000600182815481101515610be957fe5b90600052602060002090600b0201600301819055506020604051908101604052806000815250600182815481101515610c1e57fe5b90600052602060002090600b02016004016000019080519060200190610c4592919061263e565b506020604051908101604052806000815250600182815481101515610c6657fe5b90600052602060002090600b02016004016001019080519060200190610c8d92919061263e565b506000600182815481101515610c9f57fe5b90600052602060002090600b020160040160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600182815481101515610d0257fe5b90600052602060002090600b020160040160030181905550600181815481101515610d2957fe5b90600052602060002090600b020160010154600182815481101515610d4a57fe5b90600052602060002090600b020160090160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600181815481101515610dab57fe5b90600052602060002090600b020160080160408051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055505050505061129a565b6000610ed084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b90506000600182815481101515610ee357fe5b90600052602060002090600b020160090160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156110fe57600181815481101515610f4757fe5b90600052602060002090600b020160010160008154809291906001019190505550600181815481101515610f7757fe5b90600052602060002090600b020160010154600182815481101515610f9857fe5b90600052602060002090600b020160090160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600181815481101515610ff957fe5b90600052602060002090600b020160080160408051908101604052808473ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055505050506001818154811015156110d857fe5b90600052602060002090600b020160020160008154809291906001019190505550611298565b600061114e85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050846123fe565b90506001151560018381548110151561116357fe5b90600052602060002090600b02016008018281548110151561118157fe5b9060005260206000200160000160149054906101000a900460ff16151514151515611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f616c7265616479206120766f746572000000000000000000000000000000000081525060200191505060405180910390fd5b6001808381548110151561122457fe5b90600052602060002090600b02016008018281548110151561124257fe5b9060005260206000200160000160146101000a81548160ff02191690831515021790555060018281548110151561127557fe5b90600052602060002090600b020160020160008154809291906001019190505550505b505b7f424f3ad05c61ea35cad66f22b70b1fad7250d8229921238078c401db36d3457483838360405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a1505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156113b957600080fd5b505afa1580156113cd573d6000803e3d6000fd5b505050506040513d60208110156113e357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505081600115156114ea8383612475565b1515141515611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6d757374206265206120766f746572000000000000000000000000000000000081525060200191505060405180910390fd5b60006115b086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b9050600061160287878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050866123fe565b905060018281548110151561161357fe5b90600052602060002090600b02016002016000815480929190600190039190505550600060018381548110151561164657fe5b90600052602060002090600b02016008018281548110151561166457fe5b9060005260206000200160000160146101000a81548160ff0219169083151502179055507f654cd85d9b2abaf3affef0a047625d088e6e4d0448935c9b5016b5f5aa0ca3b687878760405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a150505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156117ad57600080fd5b505afa1580156117c1573d6000803e3d6000fd5b505050506040513d60208110156117d757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561188a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505083600115156118de8383612475565b1515141515611955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6d757374206265206120766f746572000000000000000000000000000000000081525060200191505060405180910390fd5b600115156119a788888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086612554565b1515141515611a1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b6000611a6d88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b905060011515600182815481101515611a8257fe5b90600052602060002090600b0201600a01600083815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611b67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e6e6f7420646f75626c6520766f7465000000000000000000000000000081525060200191505060405180910390fd5b600181815481101515611b7657fe5b90600052602060002090600b02016003016000815480929190600101919050555060018082815481101515611ba757fe5b90600052602060002090600b0201600a01600083815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f87999b54e45aa02834a1265e356d7bcdceb72b8cbb4396ebaeba32a103b43508888860405180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405180910390a16002600182815481101515611c9157fe5b90600052602060002090600b020160020154811515611cac57fe5b04600182815481101515611cbc57fe5b90600052602060002090600b0201600301541115611dfa576020604051908101604052806000815250600182815481101515611cf457fe5b90600052602060002090600b02016004016000019080519060200190611d1b92919061263e565b506020604051908101604052806000815250600182815481101515611d3c57fe5b90600052602060002090600b02016004016001019080519060200190611d6392919061263e565b506000600182815481101515611d7557fe5b90600052602060002090600b020160040160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600182815481101515611dd857fe5b90600052602060002090600b0201600401600301819055506001935050611e00565b60009350505b5050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e32cf906040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611e8d57600080fd5b505afa158015611ea1573d6000803e3d6000fd5b505050506040513d6020811015611eb757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b611fb988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000612554565b1515612010576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806128546034913960400191505060405180910390fd5b600061205f89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612353565b9050868660018381548110151561207257fe5b90600052602060002090600b020160040160000191906120939291906125be565b5084846001838154811015156120a557fe5b90600052602060002090600b020160040160010191906120c69291906125be565b50826001828154811015156120d757fe5b90600052602060002090600b020160040160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160018281548110151561213957fe5b90600052602060002090600b02016004016003018190555060008090505b60018281548110151561216657fe5b90600052602060002090600b0201600801805490508110156122be5760018281548110151561219157fe5b90600052602060002090600b0201600801818154811015156121af57fe5b9060005260206000200160000160149054906101000a900460ff16156122b15760006001838154811015156121e057fe5b90600052602060002090600b0201600a016000848152602001908152602001600020600060018581548110151561221357fe5b90600052602060002090600b02016008018481548110151561223157fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080600101915050612157565b5060006001828154811015156122d057fe5b90600052602060002090600b0201600301819055507f5bfaebb5931145594f63236d2a59314c4dc6035b65d0ca4cee9c7298e2f06ca3898960405180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060405180910390a1505050505050505050565b6000600160026000846040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561239f578082015181840152602081019050612384565b50505050905090810190601f1680156123cc5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120815260200190815260200160002054039050919050565b60008061240a84612353565b90506001808281548110151561241c57fe5b90600052602060002090600b020160090160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540391505092915050565b60008061248184612353565b9050600060018281548110151561249457fe5b90600052602060002090600b020160090160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156124f357600091505061254e565b60006124ff85856123fe565b905060018281548110151561251057fe5b90600052602060002090600b02016008018181548110151561252e57fe5b9060005260206000200160000160149054906101000a900460ff16925050505b92915050565b600081600161256285612353565b81548110151561256e57fe5b90600052602060002090600b02016004016003015414905092915050565b8154818355818111156125b957600b0281600b0283600052602060002091820191016125b891906126be565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106125ff57803560ff191683800117855561262d565b8280016001018555821561262d579182015b8281111561262c578235825591602001919060010190612611565b5b50905061263a919061276b565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061267f57805160ff19168380011785556126ad565b828001600101855582156126ad579182015b828111156126ac578251825591602001919060010190612691565b5b5090506126ba919061276b565b5090565b61276891905b8082111561276457600080820160006126dd9190612790565b600182016000905560028201600090556003820160009055600482016000808201600061270a9190612790565b60018201600061271a9190612790565b6002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160009055505060088201600061275b91906127d8565b50600b016126c4565b5090565b90565b61278d91905b80821115612789576000816000905550600101612771565b5090565b90565b50805460018160011615610100020316600290046000825580601f106127b657506127d5565b601f0160209004906000526020600020908101906127d4919061276b565b5b50565b50805460008255906000526020600020908101906127f691906127f9565b50565b61285091905b8082111561284c57600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549060ff0219169055506001016127ff565b5090565b9056fe6974656d732070656e64696e6720666f7220617070726f76616c2e206e6577206974656d2063616e6e6f74206265206164646564a165627a7a723058200654b9b2546bb5ce191f641a5808e42e94b2690cd82bbf7a20b99e051baf4bb80029 \ No newline at end of file