All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bcos.contract.source.FileInfoManager Maven / Gradle / Ivy

There is a newer version: 2.6.6
Show newest version
package org.bcos.contract.source;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Future;
import org.bcos.channel.client.TransactionSucCallback;
import org.bcos.web3j.abi.EventEncoder;
import org.bcos.web3j.abi.EventValues;
import org.bcos.web3j.abi.TypeReference;
import org.bcos.web3j.abi.datatypes.Address;
import org.bcos.web3j.abi.datatypes.Event;
import org.bcos.web3j.abi.datatypes.Function;
import org.bcos.web3j.abi.datatypes.Type;
import org.bcos.web3j.abi.datatypes.Utf8String;
import org.bcos.web3j.abi.datatypes.generated.Int256;
import org.bcos.web3j.abi.datatypes.generated.Uint256;
import org.bcos.web3j.crypto.Credentials;
import org.bcos.web3j.crypto.EncryptType;
import org.bcos.web3j.protocol.Web3j;
import org.bcos.web3j.protocol.core.DefaultBlockParameter;
import org.bcos.web3j.protocol.core.methods.request.EthFilter;
import org.bcos.web3j.protocol.core.methods.response.Log;
import org.bcos.web3j.protocol.core.methods.response.TransactionReceipt;
import org.bcos.web3j.tx.Contract;
import org.bcos.web3j.tx.TransactionManager;
import rx.Observable;
import rx.functions.Func1;

/**
 * Auto generated code.
* Do not modify!
* Please use the web3j command line tools, or {@link org.bcos.web3j.codegen.SolidityFunctionWrapperGenerator} to update. * *

Generated with web3j version none. */ public final class FileInfoManager extends Contract { private static String BINARY = "60606040526000600155341561001157fe5b5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60106012819055505b5b617ab5806200006f6000396000f30060606040523615610152576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063180db1b4146101545780631bd951551461017a57806324b508a3146101e8578063276e6472146102c95780632ced7cef1461033b578063310eff5d1461042f578063319af333146105195780633ca6268e146105a65780633d7403a31461061d5780633ffbd47f1461068f57806341304fac1461072c57806341c0e1b51461079a5780634b5c4277146107ac5780635e01eb5a1461085d57806378a9eeed146108f6578063800c7e381461098f57806382b7b500146109b5578063887240d014610a9657806388d97c3014610c40578063893d20e814610cae578063a87d942c14610d47578063b1498e2914610d6d578063b60e72cc14610ddf578063da421df514610e56578063e9e69a4814610f06578063ffcad44e14610f2c575bfe5b341561015c57fe5b610164610f9a565b6040518082815260200191505060405180910390f35b341561018257fe5b6101d2600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610fa5565b6040518082815260200191505060405180910390f35b34156101f057fe5b610240600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061107f565b604051808060200182810382528381815181526020019150805190602001908083836000831461028f575b80518252602083111561028f5760208201915060208101905060208303925061026b565b505050905090810190601f1680156102bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102d157fe5b610321600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506114dd565b604051808215151515815260200191505060405180910390f35b341561034357fe5b610419600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061199d565b6040518082815260200191505060405180910390f35b341561043757fe5b610490600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611a13565b60405180806020018281038252838181518152602001915080519060200190808383600083146104df575b8051825260208311156104df576020820191506020810190506020830392506104bb565b505050905090810190601f16801561050b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561052157fe5b610590600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121de565b6040518082815260200191505060405180910390f35b34156105ae57fe5b610607600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050612265565b6040518082815260200191505060405180910390f35b341561062557fe5b610675600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506122d6565b604051808215151515815260200191505060405180910390f35b341561069757fe5b61072a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612938565b005b341561073457fe5b610784600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061293d565b6040518082815260200191505060405180910390f35b34156107a257fe5b6107aa612972565b005b34156107b457fe5b610847600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506129d1565b6040518082815260200191505060405180910390f35b341561086557fe5b61086d612a17565b60405180806020018281038252838181518152602001915080519060200190808383600083146108bc575b8051825260208311156108bc57602082019150602081019050602083039250610898565b505050905090810190601f1680156108e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108fe57fe5b610906612a44565b6040518080602001828103825283818151815260200191508051906020019080838360008314610955575b80518252602083111561095557602082019150602081019050602083039250610931565b505050905090810190601f1680156109815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561099757fe5b61099f612d5c565b6040518082815260200191505060405180910390f35b34156109bd57fe5b610a0d600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612db0565b6040518080602001828103825283818151815260200191508051906020019080838360008314610a5c575b805182526020831115610a5c57602082019150602081019050602083039250610a38565b505050905090810190601f168015610a885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a9e57fe5b610bb7600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061309a565b6040518080602001828103825283818151815260200191508051906020019080838360008314610c06575b805182526020831115610c0657602082019150602081019050602083039250610be2565b505050905090810190601f168015610c325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610c4857fe5b610c98600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506132c7565b6040518082815260200191505060405180910390f35b3415610cb657fe5b610cbe61331c565b6040518080602001828103825283818151815260200191508051906020019080838360008314610d0d575b805182526020831115610d0d57602082019150602081019050602083039250610ce9565b505050905090810190601f168015610d395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d4f57fe5b610d5761336b565b6040518082815260200191505060405180910390f35b3415610d7557fe5b610dc5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613379565b604051808215151515815260200191505060405180910390f35b3415610de757fe5b610e40600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061395d565b6040518082815260200191505060405180910390f35b3415610e5e57fe5b610e7d60048080359060200190919080359060200190919050506139ca565b6040518080602001828103825283818151815260200191508051906020019080838360008314610ecc575b805182526020831115610ecc57602082019150602081019050602083039250610ea8565b505050905090810190601f168015610ef85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610f0e57fe5b610f16613de7565b6040518082815260200191505060405180910390f35b3415610f3457fe5b610f84600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613df2565b6040518082815260200191505060405180910390f35b600060015490505b90565b600060006000835191506020821115610fbd57602091505b60009250600090505b60208110156110775781811015611063578381815181101515610fe557fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900460ff16610100840201925061106b565b610100830292505b5b806001019050610fc6565b5b5050919050565b6110876177ec565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b000000000000000000000000000000815250925061115c611115604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250856143a49092919063ffffffff16565b925060009150600090505b60038054905081101561148a576112b084600260038481548110151561118957fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156111f35780601f106111d15761010080835404028352918201916111f3565b820191906000526020600020905b8154815290600101906020018083116111df575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561129d5780601f106112725761010080835404028352916020019161129d565b820191906000526020600020905b81548152906001019060200180831161128057829003601f168201915b505050505061444490919063ffffffff16565b80156113715750600060018111156112c457fe5b60026003838154811015156112d557fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561133f5780601f1061131d57610100808354040283529182019161133f565b820191906000526020600020905b81548152906001019060200180831161132b575b50509150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561136e57fe5b14155b1561147c5760008211156113cb576113c8604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b61147361146460026003848154811015156113e257fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561144c5780601f1061142a57610100808354040283529182019161144c565b820191906000526020600020905b815481529060010190602001808311611438575b505091505090815260200160405180910390206145f3565b8461458890919063ffffffff16565b92506001820191505b5b8080600101915050611167565b6114d3604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b5050919050565b60006000600060018111156114ee57fe5b6002846040518082805190602001908083835b602083106115245780518252602082019150602081019050602083039250611501565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561157357fe5b1415611647576004600681111561158657fe5b6001819055506115cb604060405190810160405280601681526020017f64656c6574652066696c65206e6f74206578697374730000000000000000000081525061293d565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260168152602001807f64656c6574652066696c65206e6f7420657869737473000000000000000000008152506020019250505060405180910390a160019150611997565b600460006116559190617800565b600090505b6003805490508110156117ac576117308360038381548110151561167a57fe5b906000526020600020900160005b508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561171d5780601f106116f25761010080835404028352916020019161171d565b820191906000526020600020905b81548152906001019060200180831161170057829003601f168201915b505050505061444490919063ffffffff16565b1561173a576117a1565b6004805480600101828161174e9190617822565b916000526020600020900160005b60038481548110151561176b57fe5b906000526020600020900160005b509091909150908054600181600116156101000203166002900461179e92919061784e565b50505b80600101905061165a565b600360006117ba9190617800565b600090505b60048054905081101561183e57600380548060010182816117e09190617822565b916000526020600020900160005b6004848154811015156117fd57fe5b906000526020600020900160005b509091909150908054600181600116156101000203166002900461183092919061784e565b50505b8060010190506117bf565b60006002846040518082805190602001908083835b602083106118765780518252602082019150602081019050602083039250611853565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020600c0160006101000a81548160ff021916908360018111156118c757fe5b0217905550600060068111156118d957fe5b60018190555061191f604060405190810160405280601981526020017f64656c6574652066696c6520737563636573732c2069643a2000000000000000815250846129d1565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260138152602001807f64656c6574652066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600191505b50919050565b60006119a76177ec565b602060405190810160405280600081525090506119cf8585836143a49092919063ffffffff16565b90506119da83610fa5565b600102600019166119ea82610fa5565b60010260405180826000191660001916815260200191505060405180910390a15b509392505050565b611a1b6177ec565b6000600060006000600060006000611a328a613df2565b965060009550600060125488811515611a4757fe5b061415611a635760125487811515611a5b57fe5b049550611a77565b600160125488811515611a7257fe5b040195505b6000891080611a8857506001860389115b15611b22577f46696c65496e666f4d616e61676572000000000000000000000000000000000060405180807f62616420706172616d657465727320696e2070616765427947726f7570000000815250601d01905060405180910390a1604060405190810160405280601f81526020017f7b22726574223a302c2264617461223a7b22746f74616c223a302c5b5d7d7d0081525097506121d1565b604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509750611bee611ba7604060405190810160405280600581526020017f746f74616c0000000000000000000000000000000000000000000000000000008152508961402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508a6143a49092919063ffffffff16565b9750886012540294506000935060009250600091505b600380549050821015611e395760006001811115611c1e57fe5b6002600384815481101515611c2f57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611c995780601f10611c77576101008083540402835291820191611c99565b820191906000526020600020905b815481529060010190602001808311611c85575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115611cc857fe5b14158015611e0e5750611e0d8a6002600385815481101515611ce657fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611d505780601f10611d2e576101008083540402835291820191611d50565b820191906000526020600020905b815481529060010190602001808311611d3c575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611dfa5780601f10611dcf57610100808354040283529160200191611dfa565b820191906000526020600020905b815481529060010190602001808311611ddd57829003601f168201915b505050505061444490919063ffffffff16565b5b15611e1a576001840193505b8484101515611e2b57819250611e39565b5b8180600101925050611c04565b600090508291505b60038054905082108015611e56575060125481105b156121855760006001811115611e6857fe5b6002600384815481101515611e7957fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611ee35780601f10611ec1576101008083540402835291820191611ee3565b820191906000526020600020905b815481529060010190602001808311611ecf575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115611f1257fe5b1415801561205857506120578a6002600385815481101515611f3057fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611f9a5780601f10611f78576101008083540402835291820191611f9a565b820191906000526020600020905b815481529060010190602001808311611f86575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120445780601f1061201957610100808354040283529160200191612044565b820191906000526020600020905b81548152906001019060200180831161202757829003601f168201915b505050505061444490919063ffffffff16565b5b156121775760018101905061210b6120fc600260038581548110151561207a57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156120e45780601f106120c25761010080835404028352918201916120e4565b820191906000526020600020905b8154815290600101906020018083116120d0575b505091505090815260200160405180910390206145f3565b8961458890919063ffffffff16565b975060125481108015612125575060016003805490500382105b1561217657612173604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508961458890919063ffffffff16565b97505b5b5b8180600101925050611e41565b6121ce604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508961458890919063ffffffff16565b97505b5050505050505092915050565b60006121e86177ec565b6020604051908101604052806000815250905061222e8461221e8573ffffffffffffffffffffffffffffffffffffffff1661518d565b836143a49092919063ffffffff16565b905061223981610fa5565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b600061226f6177ec565b6020604051908101604052806000815250905061229f8461228f8561539b565b836143a49092919063ffffffff16565b90506122aa81610fa5565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b60006122e2600561557a565b6122f682600561570a90919063ffffffff16565b15156123ca576001600681111561230957fe5b60018190555061234e604060405190810160405280600d81526020017f6261642066696c65206a736f6e0000000000000000000000000000000000000081525061293d565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc60015460405180828152602001806020018281038252600d8152602001807f6261642066696c65206a736f6e000000000000000000000000000000000000008152506020019250505060405180910390a160009050612933565b600060018111156123d757fe5b6002600560000160405180828054600181600116156101000203166002900480156124395780601f10612417576101008083540402835291820191612439565b820191906000526020600020905b815481529060010190602001808311612425575b50509150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561246857fe5b141561253c576004600681111561247b57fe5b6001819055506124c0604060405190810160405280601681526020017f7570646174652066696c65206e6f74206578697374730000000000000000000081525061293d565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260168152602001807f7570646174652066696c65206e6f7420657869737473000000000000000000008152506020019250505060405180910390a160009050612933565b6125fc602060405190810160405280600081525060056001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125e95780601f106125be576101008083540402835291602001916125e9565b820191906000526020600020905b8154815290600101906020018083116125cc57829003601f168201915b505050505061444490919063ffffffff16565b505b60016005600c0160006101000a81548160ff0219169083600181111561262057fe5b02179055506103e8420260056003018190555060056002600560000160405180828054600181600116156101000203166002900480156126975780601f10612675576101008083540402835291820191612697565b820191906000526020600020905b815481529060010190602001808311612683575b50509150509081526020016040518091039020600082018160000190805460018160011615610100020316600290046126d19291906178d5565b50600182018160010190805460018160011615610100020316600290046126f99291906178d5565b50600282018160020190805460018160011615610100020316600290046127219291906178d5565b5060038201548160030155600482015481600401556005820181600501908054600181600116156101000203166002900461275d9291906178d5565b50600682018160060190805460018160011615610100020316600290046127859291906178d5565b50600782018160070190805460018160011615610100020316600290046127ad9291906178d5565b50600882018160080190805460018160011615610100020316600290046127d59291906178d5565b5060098201548160090155600a820181600a0190805460018160011615610100020316600290046128079291906178d5565b50600b820181600b01908054600181600116156101000203166002900461282f9291906178d5565b50600c820160009054906101000a900460ff1681600c0160006101000a81548160ff0219169083600181111561286157fe5b02179055509050506000600681111561287657fe5b6001819055506128bb604060405190810160405280601381526020017f7570646174652066696c6520737563636573730000000000000000000000000081525061293d565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260138152602001807f7570646174652066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600190505b919050565b5b5050565b600061294882610fa5565b60010260405180826000191660001916815260200191505060405180910390a0600090505b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129ce576129cf565b5b565b60006129dc82610fa5565b600102600019166129ec84610fa5565b60010260405180826000191660001916815260200191505060405180910390a1600090505b92915050565b612a1f6177ec565b612a3e3373ffffffffffffffffffffffffffffffffffffffff16615af4565b90505b90565b612a4c6177ec565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509250612b21612ada604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250856143a49092919063ffffffff16565b925060009150600090505b600380549050811015612d0b5760006001811115612b4657fe5b6002600383815481101515612b5757fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015612bc15780601f10612b9f576101008083540402835291820191612bc1565b820191906000526020600020905b815481529060010190602001808311612bad575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115612bf057fe5b141515612cfd576000821115612c4c57612c49604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b612cf4612ce56002600384815481101515612c6357fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015612ccd5780601f10612cab576101008083540402835291820191612ccd565b820191906000526020600020905b815481529060010190602001808311612cb9575b505091505090815260200160405180910390206145f3565b8461458890919063ffffffff16565b92506001820191505b5b8080600101915050612b2c565b612d54604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b505090565b60006000601254600380549050811515612d7257fe5b061415612d9357601254600380549050811515612d8b57fe5b049050612dac565b6001601254600380549050811515612da757fe5b040190505b5b90565b612db86177ec565b604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b000000000000000000000000000000815250905060006001811115612dfe57fe5b6002836040518082805190602001908083835b60208310612e345780518252602082019150602081019050602083039250612e11565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020600c0160009054906101000a900460ff166001811115612e8357fe5b141515612fae57612f22612edb604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050612fa7612f986002846040518082805190602001908083835b60208310612f605780518252602082019150602081019050602083039250612f3d565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206145f3565b8261458890919063ffffffff16565b9050613049565b613046612fff604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b90505b613092604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508261458890919063ffffffff16565b90505b919050565b6130a26177ec565b60006000869250613104866130f6604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b925061316185613153604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b92506103e8420291506131c5846131b7604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b925061322a6131d383615d06565b61321c604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b9250826040518082805190602001908083835b60208310613260578051825260208201915060208101905060208303925061323d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206001900490506132ba600260406132ab6132a685615e54565b616062565b6162879092919063ffffffff16565b92505b5050949350505050565b600060006132d483613df2565b90506000601254828115156132e557fe5b06141561330157601254818115156132f957fe5b049150613315565b60016012548281151561331057fe5b040191505b5b50919050565b6133246177ec565b613365600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16615af4565b90505b90565b600060038054905090505b90565b600061338f82600561570a90919063ffffffff16565b151561346357600160068111156133a257fe5b6001819055506133e7604060405190810160405280600f81526020017f626164206a736f6e2066696c652021000000000000000000000000000000000081525061293d565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc60015460405180828152602001806020018281038252600d8152602001807f6261642066696c65206a736f6e000000000000000000000000000000000000008152506020019250505060405180910390a160009050613958565b6000600181111561347057fe5b6002600560000160405180828054600181600116156101000203166002900480156134d25780601f106134b05761010080835404028352918201916134d2565b820191906000526020600020905b8154815290600101906020018083116134be575b50509150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561350157fe5b1415156135d6576004600681111561351557fe5b60018190555061355a604060405190810160405280601981526020017f7468652066696c6520616c72656164792065786973747320210000000000000081525061293d565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260178152602001807f7468652066696c6520616c7265616479206578697374730000000000000000008152506020019250505060405180910390a160009050613958565b60016005600c0160006101000a81548160ff021916908360018111156135f857fe5b02179055506103e842026005600301819055506003805480600101828161361f9190617822565b916000526020600020900160005b60056000019091909150908054600181600116156101000203166002900461365692919061784e565b505060056002600560000160405180828054600181600116156101000203166002900480156136bc5780601f1061369a5761010080835404028352918201916136bc565b820191906000526020600020905b8154815290600101906020018083116136a8575b50509150509081526020016040518091039020600082018160000190805460018160011615610100020316600290046136f69291906178d5565b506001820181600101908054600181600116156101000203166002900461371e9291906178d5565b50600282018160020190805460018160011615610100020316600290046137469291906178d5565b506003820154816003015560048201548160040155600582018160050190805460018160011615610100020316600290046137829291906178d5565b50600682018160060190805460018160011615610100020316600290046137aa9291906178d5565b50600782018160070190805460018160011615610100020316600290046137d29291906178d5565b50600882018160080190805460018160011615610100020316600290046137fa9291906178d5565b5060098201548160090155600a820181600a01908054600181600116156101000203166002900461382c9291906178d5565b50600b820181600b0190805460018160011615610100020316600290046138549291906178d5565b50600c820160009054906101000a900460ff1681600c0160006101000a81548160ff0219169083600181111561388657fe5b02179055509050506000600681111561389b57fe5b6001819055506138e0604060405190810160405280601581526020017f696e736572742066696c6520737563636573732021000000000000000000000081525061293d565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260138152602001807f696e736572742066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600190505b919050565b60006139676177ec565b602060405190810160405280600081525090506139978461398785615d06565b836143a49092919063ffffffff16565b90506139a281610fa5565b60010260405180826000191660001916815260200191505060405180910390a05b5092915050565b6139d26177ec565b60006000600084860292506001858401039150600380549050831015806139fa575060008211155b15613acc57613a6e606060405190810160405280602781526020017f7b22726574223a302c2264617461223a7b22746f74616c223a302c226974656d81526020017f73223a5b5d7d7d000000000000000000000000000000000000000000000000008152508561458890919063ffffffff16565b93507f46696c65496e666f4d616e61676572000000000000000000000000000000000060405180807f62616420706172616d657465727320696e207061676546696c65730000000000815250601b01905060405180910390a1613dde565b604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509350613b9d613b56604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250866143a49092919063ffffffff16565b935060038054905082101515613bb95760016003805490500391505b8290505b8181111515613d925760006001811115613bd357fe5b6002600383815481101515613be457fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015613c4e5780601f10613c2c576101008083540402835291820191613c4e565b820191906000526020600020905b815481529060010190602001808311613c3a575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115613c7d57fe5b141515613d8457613d2c613d1d6002600384815481101515613c9b57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015613d055780601f10613ce3576101008083540402835291820191613d05565b820191906000526020600020905b815481529060010190602001808311613cf1575b505091505090815260200160405180910390206145f3565b8561458890919063ffffffff16565b93508181141515613d8357613d80604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508561458890919063ffffffff16565b93505b5b5b8080600101915050613bbd565b613ddb604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508561458890919063ffffffff16565b93505b50505092915050565b600060125490505b90565b6000600060009150600090505b6003805490508110156140235760006001811115613e1957fe5b6002600383815481101515613e2a57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015613e945780601f10613e72576101008083540402835291820191613e94565b820191906000526020600020905b815481529060010190602001808311613e80575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115613ec357fe5b141580156140095750614008836002600384815481101515613ee157fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015613f4b5780601f10613f29576101008083540402835291820191613f4b565b820191906000526020600020905b815481529060010190602001808311613f37575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613ff55780601f10613fca57610100808354040283529160200191613ff5565b820191906000526020600020905b815481529060010190602001808311613fd857829003601f168201915b505050505061444490919063ffffffff16565b5b15614015576001820191505b5b8080600101915050613dff565b5b50919050565b6140326177ec565b60006000600060006003865101935060008714156140555760018401935061407f565b8692505b600083111561407e57600a8381151561406e57fe5b0492508380600101945050614059565b5b8360405180591061408d5750595b908082528060200260200182016040525b509450600091507f220000000000000000000000000000000000000000000000000000000000000085838060010194508151811015156140da57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600090505b85518110156141c357858181518110151561412657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002858380600101945081518110151561418557fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b808060010191505061410f565b7f220000000000000000000000000000000000000000000000000000000000000085838060010194508151811015156141f857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a00000000000000000000000000000000000000000000000000000000000000858380600101945081518110151561425d57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060018403915060008714156143035760307f01000000000000000000000000000000000000000000000000000000000000000285838151811015156142ce57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350614399565b5b6000871115614398576030600a8881151561431b57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000285838060019003945081518110151561435457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8781151561439057fe5b049650614304565b5b5b5050505092915050565b6143ac6177ec565b60006000600060006000865188518a5101016040518059106143cb5750595b908082528060200260200182016040525b50955060208901945060208801935060208701925060208601915060009050614409818301868b5161630c565b88518101905061441d818301858a5161630c565b87518101905061443181830184895161630c565b8651810190505b50505050509392505050565b600060008251845114151561445c5760009150614581565b600090505b835181101561457c57828181518110151561447857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811015156144f357fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415156145705760009150614581565b5b806001019050614461565b600191505b5092915050565b6145906177ec565b60006000600084518651016040518059106145a85750595b908082528060200260200182016040525b5093506020860192506020850191506020840190506145da8184885161630c565b6145e98651820183875161630c565b5b50505092915050565b6145fb6177ec565b604060405190810160405280600181526020017f7b00000000000000000000000000000000000000000000000000000000000000815250905061476361471c604060405190810160405280600281526020017f6964000000000000000000000000000000000000000000000000000000000000815250846000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156147095780601f106146de57610100808354040283529160200191614709565b820191906000526020600020905b8154815290600101906020018083116146ec57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b905061489461484d604060405190810160405280600981526020017f636f6e7461696e65720000000000000000000000000000000000000000000000815250846001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561483a5780601f1061480f5761010080835404028352916020019161483a565b820191906000526020600020905b81548152906001019060200180831161481d57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b90506149c561497e604060405190810160405280600881526020017f66696c656e616d65000000000000000000000000000000000000000000000000815250846002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561496b5780601f106149405761010080835404028352916020019161496b565b820191906000526020600020905b81548152906001019060200180831161494e57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614a5e614a17604060405190810160405280600a81526020017f75706461746554696d6500000000000000000000000000000000000000000000815250846003015461402a90919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614af7614ab0604060405190810160405280600481526020017f73697a6500000000000000000000000000000000000000000000000000000000815250846004015461402a90919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614c28614be1604060405190810160405280600981526020017f66696c655f686173680000000000000000000000000000000000000000000000815250846006018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614bce5780601f10614ba357610100808354040283529160200191614bce565b820191906000526020600020905b815481529060010190602001808311614bb157829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614cc1614c7a604060405190810160405280600481526020017f7479706500000000000000000000000000000000000000000000000000000000815250846009015461402a90919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614df2614dab604060405190810160405280600a81526020017f70726976696c696765730000000000000000000000000000000000000000000081525084600a018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614d985780601f10614d6d57610100808354040283529160200191614d98565b820191906000526020600020905b815481529060010190602001808311614d7b57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614f23614edc604060405190810160405280600881526020017f7372635f6e6f6465000000000000000000000000000000000000000000000000815250846007018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614ec95780601f10614e9e57610100808354040283529160200191614ec9565b820191906000526020600020905b815481529060010190602001808311614eac57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b905061505461500d604060405190810160405280600a81526020017f6e6f64655f67726f757000000000000000000000000000000000000000000000815250846008018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614ffa5780601f10614fcf57610100808354040283529160200191614ffa565b820191906000526020600020905b815481529060010190602001808311614fdd57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b905061518561513e604060405190810160405280600481526020017f696e666f0000000000000000000000000000000000000000000000000000000081525084600b018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561512b5780601f106151005761010080835404028352916020019161512b565b820191906000526020600020905b81548152906001019060200180831161510e57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f7d00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b90505b919050565b6151956177ec565b60006000602a6040518059106151a85750595b908082528060200260200182016040525b5092507f30000000000000000000000000000000000000000000000000000000000000008360008151811015156151ec57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000083600181518110151561524c57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350602991505b60028260ff1610151561539357600f841690506010848115156152a057fe5b049350600a8160ff16101561531b57603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff168151811015156152e657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350615386565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff1681518110151561535557fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b81600190039150615281565b5b5050919050565b6153a36177ec565b6000600060006000600060008714156153f457604060405190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509550615570565b8694506001935060009250600087121561541b578660000394506000935082806001019350505b8491505b600082111561544457600a8281151561543457fe5b049150828060010193505061541f565b8260ff166040518059106154555750595b908082528060200260200182016040525b5095508315156154d1577f2d000000000000000000000000000000000000000000000000000000000000008660008151811015156154a057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001830390505b600085111561556f576030600a868115156154ef57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000286828060019003935060ff1681518110151561552b57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8581151561556757fe5b0494506154d8565b5b5050505050919050565b60206040519081016040528060008152508160000190805190602001906155a292919061795c565b5060206040519081016040528060008152508160020190805190602001906155cb92919061795c565b5060206040519081016040528060008152508160010190805190602001906155f492919061795c565b5060008160040181905550602060405190810160405280600081525081600601908051906020019061562792919061795c565b50602060405190810160405280600081525081600801908051906020019061565092919061795c565b506000816009018190555060008160030181905550602060405190810160405280600081525081600a01908051906020019061568d92919061795c565b50602060405190810160405280600081525081600b0190805190602001906156b692919061795c565b5060206040519081016040528060008152508160070190805190602001906156df92919061795c565b50600081600c0160006101000a81548160ff0219169083600181111561570157fe5b02179055505b50565b60006157158361557a565b61575e604060405190810160405280600281526020017f6964000000000000000000000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b83600001908051906020019061577592919061795c565b506157bf604060405190810160405280600881526020017f66696c656e616d65000000000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b8360020190805190602001906157d692919061795c565b50615820604060405190810160405280600981526020017f636f6e7461696e65720000000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b83600101908051906020019061583792919061795c565b50615881604060405190810160405280600481526020017f73697a650000000000000000000000000000000000000000000000000000000081525083616d2490919063ffffffff16565b83600401819055506158d2604060405190810160405280600981526020017f66696c655f686173680000000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b8360060190805190602001906158e992919061795c565b50615933604060405190810160405280600481526020017f747970650000000000000000000000000000000000000000000000000000000081525083616d2490919063ffffffff16565b8360090181905550615984604060405190810160405280600a81526020017f70726976696c6967657300000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b83600a01908051906020019061599b92919061795c565b506159e5604060405190810160405280600481526020017f696e666f00000000000000000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b83600b0190805190602001906159fc92919061795c565b50615a46604060405190810160405280600881526020017f7372635f6e6f6465000000000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b836007019080519060200190615a5d92919061795c565b50615aa7604060405190810160405280600a81526020017f6e6f64655f67726f757000000000000000000000000000000000000000000000815250836165d490919063ffffffff16565b836008019080519060200190615abe92919061795c565b506000836000018054600181600116156101000203166002900490501415615ae95760009050615aee565b600190505b92915050565b615afc6177ec565b615b046179dc565b60006000600060006028604051805910615b1b5750595b908082528060200260200182016040525b509450600093505b6014841015615cf8578360130360080260020a8773ffffffffffffffffffffffffffffffffffffffff16811515615b6757fe5b047f01000000000000000000000000000000000000000000000000000000000000000292506010837f0100000000000000000000000000000000000000000000000000000000000000900460ff16811515615bbe57fe5b047f0100000000000000000000000000000000000000000000000000000000000000029150817f01000000000000000000000000000000000000000000000000000000000000009004601002837f01000000000000000000000000000000000000000000000000000000000000009004037f0100000000000000000000000000000000000000000000000000000000000000029050615c5c826175cd565b8585600202815181101515615c6d57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350615ca6816175cd565b8560018660020201815181101515615cba57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8380600101945050615b34565b8495505b5050505050919050565b615d0e6177ec565b6000600060006000851415615d5b57604060405190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509350615e4c565b600092508491505b6000821115615d8857600a82811515615d7857fe5b0491508280600101935050615d63565b8260ff16604051805910615d995750595b908082528060200260200182016040525b5093506001830390505b6000851115615e4b576030600a86811515615dcb57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000284828060019003935060ff16815181101515615e0757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85811515615e4357fe5b049450615db4565b5b505050919050565b615e5c6177ec565b600060006042604051805910615e6f5750595b908082528060200260200182016040525b5092507f3000000000000000000000000000000000000000000000000000000000000000836000815181101515615eb357fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000836001815181101515615f1357fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350604191505b60028260ff1610151561605a57600f84169050601084811515615f6757fe5b049350600a8160ff161015615fe257603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff16815181101515615fad57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061604d565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff1681518110151561601c57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b81600190039150615f48565b5b5050919050565b61606a6177ec565b6000600090505b825181101561627d577f410000000000000000000000000000000000000000000000000000000000000083828151811015156160a957fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156161be57507f5a00000000000000000000000000000000000000000000000000000000000000838281518110151561614e57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b156162715760207f01000000000000000000000000000000000000000000000000000000000000000283828151811015156161f557fe5b90602001018181517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002179150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b806001019050616071565b8291505b50919050565b61628f6177ec565b60006000848651038411156162a5578486510393505b6000841115156162c75760206040519081016040528060008152509250616303565b836040518059106162d55750595b908082528060200260200182016040525b509250602086019150602083019050616302818684018661630c565b5b50509392505050565b60005b60208210151561633557825184526020840193506020830192505b60208203915061630f565b6001826020036101000a039050801983511681855116818117865250505b50505050565b6163616177ec565b6000600060006000600586518851010160405180591061637e5750595b908082528060200260200182016040525b509450602087019350602086019250602085019150600090507f220000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156163dd57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061641b81830184885161630c565b8551810190507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561645657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a0000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156164bb57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561652057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061655e81830185895161630c565b8651810190507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561659957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5050505092915050565b6165dc6177ec565b6000600060006000600060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b600115616b2d576166ac61669b89604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561679b5761676b61675a89604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f27000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561679a57616d18565b5b600288510186019550600093505b8851861015616b0b577f200000000000000000000000000000000000000000000000000000000000000089878151811015156167e157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806168f357507f0900000000000000000000000000000000000000000000000000000000000000898781518110151561688457fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061699757507f0d00000000000000000000000000000000000000000000000000000000000000898781518110151561692857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80616a3b57507f0a0000000000000000000000000000000000000000000000000000000000000089878151811015156169cc57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15616a4d578580600101965050616b06565b7f3a000000000000000000000000000000000000000000000000000000000000008987815181101515616a7c57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415616b0057858060010196505060019350616b0b565b616b0b565b5b6167a9565b8851861415616b1957616d18565b8315616b2457616b2d565b8594505b616610565b60019250616b7c604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250878b6176c29092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415616c255760009250616bf5604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250878b6176c29092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415616c2457616d18565b5b6001820191508215616c8357616c7c604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250838b6176c29092919063ffffffff16565b9050616cd1565b616cce604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250838b6176c29092919063ffffffff16565b90505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811415616cfe57616d18565b616d15828383038b6162879092919063ffffffff16565b96505b50505050505092915050565b6000600060006000600060006000600096507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b60011561727b57616dfa616de989604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415616ee957616eb9616ea889604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f27000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415616ee8576175c1565b5b600288510186019550600093505b8851861015617259577f20000000000000000000000000000000000000000000000000000000000000008987815181101515616f2f57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061704157507f09000000000000000000000000000000000000000000000000000000000000008987815181101515616fd257fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806170e557507f0d00000000000000000000000000000000000000000000000000000000000000898781518110151561707657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061718957507f0a00000000000000000000000000000000000000000000000000000000000000898781518110151561711a57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b1561719b578580600101965050617254565b7f3a0000000000000000000000000000000000000000000000000000000000000089878151811015156171ca57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561724e57858060010196505060019350617259565b617259565b5b616ef7565b8851861415617267576175c1565b83156172725761727b565b8594505b616d5e565b8592505b885183101561737857888381518110151561729657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060208260ff16148061731b575060098260ff16145b806173295750600d8260ff16145b806173375750600a8260ff16145b806173455750603a8260ff16145b80617353575060228260ff16145b80617361575060278260ff16145b151561736c57617378565b5b82600101925061727f565b600190507f2b0000000000000000000000000000000000000000000000000000000000000089848151811015156173ab57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561742f576001905082806001019350506174df565b7f2d00000000000000000000000000000000000000000000000000000000000000898481518110151561745e57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156174de576000905082806001019350505b5b5b88518310156175b25788838151811015156174f757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060308260ff161015801561757f575060398260ff1611155b151561759857801515617593578660000396505b6175c1565b6030820360ff16600a88020196505b8260010192506174e0565b8015156175c0578660000396505b5b50505050505092915050565b6000600a7f010000000000000000000000000000000000000000000000000000000000000002827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101561766c576030827f01000000000000000000000000000000000000000000000000000000000000009004017f01000000000000000000000000000000000000000000000000000000000000000290506176bd565b6057827f01000000000000000000000000000000000000000000000000000000000000009004017f01000000000000000000000000000000000000000000000000000000000000000290506176bd565b5b919050565b6000600060006000602087019250602086019150826176e98689510387860189518661772c565b03905086518110156176fd57809350617721565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff93505b5b5050509392505050565b6000600060006000600088871115156177da5760208711151561778f5760018760200360080260020a031980875116888b038a018a96505b81838851161461778457600187019650806001880310617764578b8b0196505b5050508394506177e0565b8686209150879350600092505b868903831115156177d85786842090508060001916826000191614156177c4578394506177e0565b6001840193505b828060010193505061779c565b5b5b88880194505b50505050949350505050565b602060405190810160405280600081525090565b508054600082559060005260206000209081019061781e91906179f0565b5b50565b8154818355818115116178495781836000526020600020918201910161784891906179f0565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061788757805485556178c4565b828001600101855582156178c457600052602060002091601f016020900482015b828111156178c35782548255916001019190600101906178a8565b5b5090506178d19190617a1c565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061790e578054855561794b565b8280016001018555821561794b57600052602060002091601f016020900482015b8281111561794a57825482559160010191906001019061792f565b5b5090506179589190617a1c565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061799d57805160ff19168380011785556179cb565b828001600101855582156179cb579182015b828111156179ca5782518255916020019190600101906179af565b5b5090506179d89190617a1c565b5090565b602060405190810160405280600081525090565b617a1991905b80821115617a155760008181617a0c9190617a41565b506001016179f6565b5090565b90565b617a3e91905b80821115617a3a576000816000905550600101617a22565b5090565b90565b50805460018160011615610100020316600290046000825580601f10617a675750617a86565b601f016020900490600052602060002090810190617a859190617a1c565b5b505600a165627a7a72305820564ba43b1576b4981ec4f170655d6246e61990b09839fb2c57b5c50eea1f8f710029"; public static final String ABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"getErrno\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"}],\"name\":\"stringToUint\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_group\",\"type\":\"string\"}],\"name\":\"listByGroup\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_fileId\",\"type\":\"string\"}],\"name\":\"deleteById\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_str2\",\"type\":\"string\"},{\"name\":\"_topic\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_group\",\"type\":\"string\"},{\"name\":\"_pageNo\",\"type\":\"uint256\"}],\"name\":\"pageByGroup\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_i\",\"type\":\"int256\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_fileJson\",\"type\":\"string\"}],\"name\":\"update\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_version\",\"type\":\"string\"}],\"name\":\"register\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"kill\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_topic\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getSender\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"listAll\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentPageCount\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_fileId\",\"type\":\"string\"}],\"name\":\"find\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_salt\",\"type\":\"string\"},{\"name\":\"_groupID\",\"type\":\"string\"},{\"name\":\"_serverId\",\"type\":\"string\"},{\"name\":\"_filename\",\"type\":\"string\"}],\"name\":\"generateFileID\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_group\",\"type\":\"string\"}],\"name\":\"getGroupPageCount\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCount\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_fileJson\",\"type\":\"string\"}],\"name\":\"insert\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_ui\",\"type\":\"uint256\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_pageNo\",\"type\":\"uint256\"},{\"name\":\"_pageSize\",\"type\":\"uint256\"}],\"name\":\"pageFiles\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentPageSize\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_group\",\"type\":\"string\"}],\"name\":\"getGroupFileCount\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_errno\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_info\",\"type\":\"string\"}],\"name\":\"Notify\",\"type\":\"event\"}]"; private static String GUOMI_BINARY = "60606040526000600155341561001157fe5b5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60106012819055505b5b617ab5806200006f6000396000f30060606040523615610152576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630852f4aa146101545780630a23dad5146102355780630dfd65eb14610329578063116624ee146104d357806315abed5f146105bd57806319f65ac3146106345780631cbe4a50146106cd5780631e14b2f81461075a578063216af82a146107d15780632862478414610843578063346366ef1461086957806338bcbb0e1461094a57806339e60ad11461095c5780637eb4347f14610a0d5780639e761d1714610a33578063a49efe8614610aa5578063c080f00114610b17578063c624d53414610b85578063d9f262f014610c1e578063e9167eb014610c44578063f029783614610cb2578063f065d2cd14610d4f578063f07c64f814610d75578063f73264a714610e0e578063f9f9168714610e7c578063fc17ad1114610eea575bfe5b341561015c57fe5b6101ac600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610f9a565b60405180806020018281038252838181518152602001915080519060200190808383600083146101fb575b8051825260208311156101fb576020820191506020810190506020830392506101d7565b505050905090810190601f1680156102275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023d57fe5b610313600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506113f8565b6040518082815260200191505060405180910390f35b341561033157fe5b61044a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061146e565b6040518080602001828103825283818151815260200191508051906020019080838360008314610499575b80518252602083111561049957602082019150602081019050602083039250610475565b505050905090810190601f1680156104c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104db57fe5b610534600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061169b565b6040518080602001828103825283818151815260200191508051906020019080838360008314610583575b8051825260208311156105835760208201915060208101905060208303925061055f565b505050905090810190601f1680156105af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105c557fe5b61061e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611e66565b6040518082815260200191505060405180910390f35b341561063c57fe5b610644611ed3565b6040518080602001828103825283818151815260200191508051906020019080838360008314610693575b8051825260208311156106935760208201915060208101905060208303925061066f565b505050905090810190601f1680156106bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106d557fe5b610744600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f00565b6040518082815260200191505060405180910390f35b341561076257fe5b6107bb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611f87565b6040518082815260200191505060405180910390f35b34156107d957fe5b610829600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611ff8565b604051808215151515815260200191505060405180910390f35b341561084b57fe5b6108536125dc565b6040518082815260200191505060405180910390f35b341561087157fe5b6108c1600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506125ea565b6040518080602001828103825283818151815260200191508051906020019080838360008314610910575b805182526020831115610910576020820191506020810190506020830392506108ec565b505050905090810190601f16801561093c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561095257fe5b61095a6128d4565b005b341561096457fe5b6109f7600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612933565b6040518082815260200191505060405180910390f35b3415610a1557fe5b610a1d612979565b6040518082815260200191505060405180910390f35b3415610a3b57fe5b610a8b600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612984565b604051808215151515815260200191505060405180910390f35b3415610aad57fe5b610afd600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612e44565b604051808215151515815260200191505060405180910390f35b3415610b1f57fe5b610b6f600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506134a6565b6040518082815260200191505060405180910390f35b3415610b8d57fe5b610b956136de565b6040518080602001828103825283818151815260200191508051906020019080838360008314610be4575b805182526020831115610be457602082019150602081019050602083039250610bc0565b505050905090810190601f168015610c105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610c2657fe5b610c2e61372d565b6040518082815260200191505060405180910390f35b3415610c4c57fe5b610c9c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613738565b6040518082815260200191505060405180910390f35b3415610cba57fe5b610d4d600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613812565b005b3415610d5757fe5b610d5f613817565b6040518082815260200191505060405180910390f35b3415610d7d57fe5b610d8561386b565b6040518080602001828103825283818151815260200191508051906020019080838360008314610dd4575b805182526020831115610dd457602082019150602081019050602083039250610db0565b505050905090810190601f168015610e005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610e1657fe5b610e66600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613b83565b6040518082815260200191505060405180910390f35b3415610e8457fe5b610ed4600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613bd8565b6040518082815260200191505060405180910390f35b3415610ef257fe5b610f116004808035906020019091908035906020019091905050613c0d565b6040518080602001828103825283818151815260200191508051906020019080838360008314610f60575b805182526020831115610f6057602082019150602081019050602083039250610f3c565b505050905090810190601f168015610f8c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610fa26177ec565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509250611077611030604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250856143a49092919063ffffffff16565b925060009150600090505b6003805490508110156113a5576111cb8460026003848154811015156110a457fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561110e5780601f106110ec57610100808354040283529182019161110e565b820191906000526020600020905b8154815290600101906020018083116110fa575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111b85780601f1061118d576101008083540402835291602001916111b8565b820191906000526020600020905b81548152906001019060200180831161119b57829003601f168201915b505050505061444490919063ffffffff16565b801561128c5750600060018111156111df57fe5b60026003838154811015156111f057fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561125a5780601f1061123857610100808354040283529182019161125a565b820191906000526020600020905b815481529060010190602001808311611246575b50509150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561128957fe5b14155b156113975760008211156112e6576112e3604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b61138e61137f60026003848154811015156112fd57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156113675780601f10611345576101008083540402835291820191611367565b820191906000526020600020905b815481529060010190602001808311611353575b505091505090815260200160405180910390206145f3565b8461458890919063ffffffff16565b92506001820191505b5b8080600101915050611082565b6113ee604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b5050919050565b60006114026177ec565b6020604051908101604052806000815250905061142a8585836143a49092919063ffffffff16565b905061143583613738565b6001026000191661144582613738565b60010260405180826000191660001916815260200191505060405180910390a15b509392505050565b6114766177ec565b600060008692506114d8866114ca604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b925061153585611527604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b92506103e8420291506115998461158b604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b92506115fe6115a78361518d565b6115f0604060405190810160405280600181526020017f2d000000000000000000000000000000000000000000000000000000000000008152508661458890919063ffffffff16565b61458890919063ffffffff16565b9250826040518082805190602001908083835b602083106116345780518252602082019150602081019050602083039250611611565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004905061168e6002604061167f61167a856152db565b6154e9565b61570e9092919063ffffffff16565b92505b5050949350505050565b6116a36177ec565b60006000600060006000600060006116ba8a6134a6565b9650600095506000601254888115156116cf57fe5b0614156116eb57601254878115156116e357fe5b0495506116ff565b6001601254888115156116fa57fe5b040195505b600089108061171057506001860389115b156117aa577f46696c65496e666f4d616e61676572000000000000000000000000000000000060405180807f62616420706172616d657465727320696e2070616765427947726f7570000000815250601d01905060405180910390a1604060405190810160405280601f81526020017f7b22726574223a302c2264617461223a7b22746f74616c223a302c5b5d7d7d008152509750611e59565b604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b000000000000000000000000000000815250975061187661182f604060405190810160405280600581526020017f746f74616c0000000000000000000000000000000000000000000000000000008152508961402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508a6143a49092919063ffffffff16565b9750886012540294506000935060009250600091505b600380549050821015611ac157600060018111156118a657fe5b60026003848154811015156118b757fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156119215780601f106118ff576101008083540402835291820191611921565b820191906000526020600020905b81548152906001019060200180831161190d575b50509150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561195057fe5b14158015611a965750611a958a600260038581548110151561196e57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156119d85780601f106119b65761010080835404028352918201916119d8565b820191906000526020600020905b8154815290600101906020018083116119c4575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a825780601f10611a5757610100808354040283529160200191611a82565b820191906000526020600020905b815481529060010190602001808311611a6557829003601f168201915b505050505061444490919063ffffffff16565b5b15611aa2576001840193505b8484101515611ab357819250611ac1565b5b818060010192505061188c565b600090508291505b60038054905082108015611ade575060125481105b15611e0d5760006001811115611af057fe5b6002600384815481101515611b0157fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611b6b5780601f10611b49576101008083540402835291820191611b6b565b820191906000526020600020905b815481529060010190602001808311611b57575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115611b9a57fe5b14158015611ce05750611cdf8a6002600385815481101515611bb857fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611c225780601f10611c00576101008083540402835291820191611c22565b820191906000526020600020905b815481529060010190602001808311611c0e575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ccc5780601f10611ca157610100808354040283529160200191611ccc565b820191906000526020600020905b815481529060010190602001808311611caf57829003601f168201915b505050505061444490919063ffffffff16565b5b15611dff57600181019050611d93611d846002600385815481101515611d0257fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611d6c5780601f10611d4a576101008083540402835291820191611d6c565b820191906000526020600020905b815481529060010190602001808311611d58575b505091505090815260200160405180910390206145f3565b8961458890919063ffffffff16565b975060125481108015611dad575060016003805490500382105b15611dfe57611dfb604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508961458890919063ffffffff16565b97505b5b5b8180600101925050611ac9565b611e56604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508961458890919063ffffffff16565b97505b5050505050505092915050565b6000611e706177ec565b60206040519081016040528060008152509050611ea084611e908561518d565b836143a49092919063ffffffff16565b9050611eab81613738565b60010260405180826000191660001916815260200191505060405180910390a05b5092915050565b611edb6177ec565b611efa3373ffffffffffffffffffffffffffffffffffffffff16615793565b90505b90565b6000611f0a6177ec565b60206040519081016040528060008152509050611f5084611f408573ffffffffffffffffffffffffffffffffffffffff166159a5565b836143a49092919063ffffffff16565b9050611f5b81613738565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b6000611f916177ec565b60206040519081016040528060008152509050611fc184611fb185615bb3565b836143a49092919063ffffffff16565b9050611fcc81613738565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b600061200e826005615d9290919063ffffffff16565b15156120e2576001600681111561202157fe5b600181905550612066604060405190810160405280600f81526020017f626164206a736f6e2066696c6520210000000000000000000000000000000000815250613bd8565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d060015460405180828152602001806020018281038252600d8152602001807f6261642066696c65206a736f6e000000000000000000000000000000000000008152506020019250505060405180910390a1600090506125d7565b600060018111156120ef57fe5b6002600560000160405180828054600181600116156101000203166002900480156121515780601f1061212f576101008083540402835291820191612151565b820191906000526020600020905b81548152906001019060200180831161213d575b50509150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561218057fe5b141515612255576004600681111561219457fe5b6001819055506121d9604060405190810160405280601981526020017f7468652066696c6520616c726561647920657869737473202100000000000000815250613bd8565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260178152602001807f7468652066696c6520616c7265616479206578697374730000000000000000008152506020019250505060405180910390a1600090506125d7565b60016005600c0160006101000a81548160ff0219169083600181111561227757fe5b02179055506103e842026005600301819055506003805480600101828161229e9190617800565b916000526020600020900160005b6005600001909190915090805460018160011615610100020316600290046122d592919061782c565b5050600560026005600001604051808280546001816001161561010002031660029004801561233b5780601f1061231957610100808354040283529182019161233b565b820191906000526020600020905b815481529060010190602001808311612327575b50509150509081526020016040518091039020600082018160000190805460018160011615610100020316600290046123759291906178b3565b506001820181600101908054600181600116156101000203166002900461239d9291906178b3565b50600282018160020190805460018160011615610100020316600290046123c59291906178b3565b506003820154816003015560048201548160040155600582018160050190805460018160011615610100020316600290046124019291906178b3565b50600682018160060190805460018160011615610100020316600290046124299291906178b3565b50600782018160070190805460018160011615610100020316600290046124519291906178b3565b50600882018160080190805460018160011615610100020316600290046124799291906178b3565b5060098201548160090155600a820181600a0190805460018160011615610100020316600290046124ab9291906178b3565b50600b820181600b0190805460018160011615610100020316600290046124d39291906178b3565b50600c820160009054906101000a900460ff1681600c0160006101000a81548160ff0219169083600181111561250557fe5b02179055509050506000600681111561251a57fe5b60018190555061255f604060405190810160405280601581526020017f696e736572742066696c65207375636365737320210000000000000000000000815250613bd8565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260138152602001807f696e736572742066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600190505b919050565b600060038054905090505b90565b6125f26177ec565b604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b00000000000000000000000000000081525090506000600181111561263857fe5b6002836040518082805190602001908083835b6020831061266e578051825260208201915060208101905060208303925061264b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020600c0160009054906101000a900460ff1660018111156126bd57fe5b1415156127e85761275c612715604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b90506127e16127d26002846040518082805190602001908083835b6020831061279a5780518252602082019150602081019050602083039250612777565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206145f3565b8261458890919063ffffffff16565b9050612883565b612880612839604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b90505b6128cc604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508261458890919063ffffffff16565b90505b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561293057612931565b5b565b600061293e82613738565b6001026000191661294e84613738565b60010260405180826000191660001916815260200191505060405180910390a1600090505b92915050565b600060125490505b90565b600060006000600181111561299557fe5b6002846040518082805190602001908083835b602083106129cb57805182526020820191506020810190506020830392506129a8565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020600c0160009054906101000a900460ff166001811115612a1a57fe5b1415612aee5760046006811115612a2d57fe5b600181905550612a72604060405190810160405280601681526020017f64656c6574652066696c65206e6f742065786973747300000000000000000000815250613bd8565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260168152602001807f64656c6574652066696c65206e6f7420657869737473000000000000000000008152506020019250505060405180910390a160019150612e3e565b60046000612afc919061793a565b600090505b600380549050811015612c5357612bd783600383815481101515612b2157fe5b906000526020600020900160005b508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612bc45780601f10612b9957610100808354040283529160200191612bc4565b820191906000526020600020905b815481529060010190602001808311612ba757829003601f168201915b505050505061444490919063ffffffff16565b15612be157612c48565b60048054806001018281612bf59190617800565b916000526020600020900160005b600384815481101515612c1257fe5b906000526020600020900160005b5090919091509080546001816001161561010002031660029004612c4592919061782c565b50505b806001019050612b01565b60036000612c61919061793a565b600090505b600480549050811015612ce55760038054806001018281612c879190617800565b916000526020600020900160005b600484815481101515612ca457fe5b906000526020600020900160005b5090919091509080546001816001161561010002031660029004612cd792919061782c565b50505b806001019050612c66565b60006002846040518082805190602001908083835b60208310612d1d5780518252602082019150602081019050602083039250612cfa565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020600c0160006101000a81548160ff02191690836001811115612d6e57fe5b021790555060006006811115612d8057fe5b600181905550612dc6604060405190810160405280601981526020017f64656c6574652066696c6520737563636573732c2069643a200000000000000081525084612933565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260138152602001807f64656c6574652066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600191505b50919050565b6000612e50600561617c565b612e64826005615d9290919063ffffffff16565b1515612f385760016006811115612e7757fe5b600181905550612ebc604060405190810160405280600d81526020017f6261642066696c65206a736f6e00000000000000000000000000000000000000815250613bd8565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d060015460405180828152602001806020018281038252600d8152602001807f6261642066696c65206a736f6e000000000000000000000000000000000000008152506020019250505060405180910390a1600090506134a1565b60006001811115612f4557fe5b600260056000016040518082805460018160011615610100020316600290048015612fa75780601f10612f85576101008083540402835291820191612fa7565b820191906000526020600020905b815481529060010190602001808311612f93575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115612fd657fe5b14156130aa5760046006811115612fe957fe5b60018190555061302e604060405190810160405280601681526020017f7570646174652066696c65206e6f742065786973747300000000000000000000815250613bd8565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260168152602001807f7570646174652066696c65206e6f7420657869737473000000000000000000008152506020019250505060405180910390a1600090506134a1565b61316a602060405190810160405280600081525060056001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156131575780601f1061312c57610100808354040283529160200191613157565b820191906000526020600020905b81548152906001019060200180831161313a57829003601f168201915b505050505061444490919063ffffffff16565b505b60016005600c0160006101000a81548160ff0219169083600181111561318e57fe5b02179055506103e8420260056003018190555060056002600560000160405180828054600181600116156101000203166002900480156132055780601f106131e3576101008083540402835291820191613205565b820191906000526020600020905b8154815290600101906020018083116131f1575b505091505090815260200160405180910390206000820181600001908054600181600116156101000203166002900461323f9291906178b3565b50600182018160010190805460018160011615610100020316600290046132679291906178b3565b506002820181600201908054600181600116156101000203166002900461328f9291906178b3565b506003820154816003015560048201548160040155600582018160050190805460018160011615610100020316600290046132cb9291906178b3565b50600682018160060190805460018160011615610100020316600290046132f39291906178b3565b506007820181600701908054600181600116156101000203166002900461331b9291906178b3565b50600882018160080190805460018160011615610100020316600290046133439291906178b3565b5060098201548160090155600a820181600a0190805460018160011615610100020316600290046133759291906178b3565b50600b820181600b01908054600181600116156101000203166002900461339d9291906178b3565b50600c820160009054906101000a900460ff1681600c0160006101000a81548160ff021916908360018111156133cf57fe5b0217905550905050600060068111156133e457fe5b600181905550613429604060405190810160405280601381526020017f7570646174652066696c65207375636365737300000000000000000000000000815250613bd8565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260138152602001807f7570646174652066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600190505b919050565b6000600060009150600090505b6003805490508110156136d757600060018111156134cd57fe5b60026003838154811015156134de57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156135485780601f10613526576101008083540402835291820191613548565b820191906000526020600020905b815481529060010190602001808311613534575b50509150509081526020016040518091039020600c0160009054906101000a900460ff16600181111561357757fe5b141580156136bd57506136bc83600260038481548110151561359557fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156135ff5780601f106135dd5761010080835404028352918201916135ff565b820191906000526020600020905b8154815290600101906020018083116135eb575b505091505090815260200160405180910390206008018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136a95780601f1061367e576101008083540402835291602001916136a9565b820191906000526020600020905b81548152906001019060200180831161368c57829003601f168201915b505050505061444490919063ffffffff16565b5b156136c9576001820191505b5b80806001019150506134b3565b5b50919050565b6136e66177ec565b613727600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16615793565b90505b90565b600060015490505b90565b60006000600083519150602082111561375057602091505b60009250600090505b602081101561380a57818110156137f657838181518110151561377857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900460ff1661010084020192506137fe565b610100830292505b5b806001019050613759565b5b5050919050565b5b5050565b6000600060125460038054905081151561382d57fe5b06141561384e5760125460038054905081151561384657fe5b049050613867565b600160125460038054905081151561386257fe5b040190505b5b90565b6138736177ec565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509250613948613901604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250856143a49092919063ffffffff16565b925060009150600090505b600380549050811015613b32576000600181111561396d57fe5b600260038381548110151561397e57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156139e85780601f106139c65761010080835404028352918201916139e8565b820191906000526020600020905b8154815290600101906020018083116139d4575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115613a1757fe5b141515613b24576000821115613a7357613a70604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b613b1b613b0c6002600384815481101515613a8a57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015613af45780601f10613ad2576101008083540402835291820191613af4565b820191906000526020600020905b815481529060010190602001808311613ae0575b505091505090815260200160405180910390206145f3565b8461458890919063ffffffff16565b92506001820191505b5b8080600101915050613953565b613b7b604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508461458890919063ffffffff16565b92505b505090565b60006000613b90836134a6565b9050600060125482811515613ba157fe5b061415613bbd5760125481811515613bb557fe5b049150613bd1565b600160125482811515613bcc57fe5b040191505b5b50919050565b6000613be382613738565b60010260405180826000191660001916815260200191505060405180910390a0600090505b919050565b613c156177ec565b6000600060008486029250600185840103915060038054905083101580613c3d575060008211155b15613d0f57613cb1606060405190810160405280602781526020017f7b22726574223a302c2264617461223a7b22746f74616c223a302c226974656d81526020017f73223a5b5d7d7d000000000000000000000000000000000000000000000000008152508561458890919063ffffffff16565b93507f46696c65496e666f4d616e61676572000000000000000000000000000000000060405180807f62616420706172616d657465727320696e207061676546696c65730000000000815250601b01905060405180910390a1614021565b604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509350613de0613d99604060405190810160405280600581526020017f746f74616c00000000000000000000000000000000000000000000000000000081525060038054905061402a90919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b00000000000000000000000000000000000000000000815250866143a49092919063ffffffff16565b935060038054905082101515613dfc5760016003805490500391505b8290505b8181111515613fd55760006001811115613e1657fe5b6002600383815481101515613e2757fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015613e915780601f10613e6f576101008083540402835291820191613e91565b820191906000526020600020905b815481529060010190602001808311613e7d575b50509150509081526020016040518091039020600c0160009054906101000a900460ff166001811115613ec057fe5b141515613fc757613f6f613f606002600384815481101515613ede57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015613f485780601f10613f26576101008083540402835291820191613f48565b820191906000526020600020905b815481529060010190602001808311613f34575b505091505090815260200160405180910390206145f3565b8561458890919063ffffffff16565b93508181141515613fc657613fc3604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508561458890919063ffffffff16565b93505b5b5b8080600101915050613e00565b61401e604060405190810160405280600381526020017f5d7d7d00000000000000000000000000000000000000000000000000000000008152508561458890919063ffffffff16565b93505b50505092915050565b6140326177ec565b60006000600060006003865101935060008714156140555760018401935061407f565b8692505b600083111561407e57600a8381151561406e57fe5b0492508380600101945050614059565b5b8360405180591061408d5750595b908082528060200260200182016040525b509450600091507f220000000000000000000000000000000000000000000000000000000000000085838060010194508151811015156140da57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600090505b85518110156141c357858181518110151561412657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002858380600101945081518110151561418557fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b808060010191505061410f565b7f220000000000000000000000000000000000000000000000000000000000000085838060010194508151811015156141f857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a00000000000000000000000000000000000000000000000000000000000000858380600101945081518110151561425d57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060018403915060008714156143035760307f01000000000000000000000000000000000000000000000000000000000000000285838151811015156142ce57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350614399565b5b6000871115614398576030600a8881151561431b57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000285838060019003945081518110151561435457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8781151561439057fe5b049650614304565b5b5b5050505092915050565b6143ac6177ec565b60006000600060006000865188518a5101016040518059106143cb5750595b908082528060200260200182016040525b50955060208901945060208801935060208701925060208601915060009050614409818301868b5161630c565b88518101905061441d818301858a5161630c565b87518101905061443181830184895161630c565b8651810190505b50505050509392505050565b600060008251845114151561445c5760009150614581565b600090505b835181101561457c57828181518110151561447857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811015156144f357fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415156145705760009150614581565b5b806001019050614461565b600191505b5092915050565b6145906177ec565b60006000600084518651016040518059106145a85750595b908082528060200260200182016040525b5093506020860192506020850191506020840190506145da8184885161630c565b6145e98651820183875161630c565b5b50505092915050565b6145fb6177ec565b604060405190810160405280600181526020017f7b00000000000000000000000000000000000000000000000000000000000000815250905061476361471c604060405190810160405280600281526020017f6964000000000000000000000000000000000000000000000000000000000000815250846000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156147095780601f106146de57610100808354040283529160200191614709565b820191906000526020600020905b8154815290600101906020018083116146ec57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b905061489461484d604060405190810160405280600981526020017f636f6e7461696e65720000000000000000000000000000000000000000000000815250846001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561483a5780601f1061480f5761010080835404028352916020019161483a565b820191906000526020600020905b81548152906001019060200180831161481d57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b90506149c561497e604060405190810160405280600881526020017f66696c656e616d65000000000000000000000000000000000000000000000000815250846002018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561496b5780601f106149405761010080835404028352916020019161496b565b820191906000526020600020905b81548152906001019060200180831161494e57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614a5e614a17604060405190810160405280600a81526020017f75706461746554696d6500000000000000000000000000000000000000000000815250846003015461402a90919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614af7614ab0604060405190810160405280600481526020017f73697a6500000000000000000000000000000000000000000000000000000000815250846004015461402a90919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614c28614be1604060405190810160405280600981526020017f66696c655f686173680000000000000000000000000000000000000000000000815250846006018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614bce5780601f10614ba357610100808354040283529160200191614bce565b820191906000526020600020905b815481529060010190602001808311614bb157829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614cc1614c7a604060405190810160405280600481526020017f7479706500000000000000000000000000000000000000000000000000000000815250846009015461402a90919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614df2614dab604060405190810160405280600a81526020017f70726976696c696765730000000000000000000000000000000000000000000081525084600a018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614d985780601f10614d6d57610100808354040283529160200191614d98565b820191906000526020600020905b815481529060010190602001808311614d7b57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b9050614f23614edc604060405190810160405280600881526020017f7372635f6e6f6465000000000000000000000000000000000000000000000000815250846007018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614ec95780601f10614e9e57610100808354040283529160200191614ec9565b820191906000526020600020905b815481529060010190602001808311614eac57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b905061505461500d604060405190810160405280600a81526020017f6e6f64655f67726f757000000000000000000000000000000000000000000000815250846008018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614ffa5780601f10614fcf57610100808354040283529160200191614ffa565b820191906000526020600020905b815481529060010190602001808311614fdd57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b905061518561513e604060405190810160405280600481526020017f696e666f0000000000000000000000000000000000000000000000000000000081525084600b018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561512b5780601f106151005761010080835404028352916020019161512b565b820191906000526020600020905b81548152906001019060200180831161510e57829003601f168201915b505050505061635990919063ffffffff16565b604060405190810160405280600181526020017f7d00000000000000000000000000000000000000000000000000000000000000815250836143a49092919063ffffffff16565b90505b919050565b6151956177ec565b60006000600060008514156151e257604060405190810160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525093506152d3565b600092508491505b600082111561520f57600a828115156151ff57fe5b04915082806001019350506151ea565b8260ff166040518059106152205750595b908082528060200260200182016040525b5093506001830390505b60008511156152d2576030600a8681151561525257fe5b06017f01000000000000000000000000000000000000000000000000000000000000000284828060019003935060ff1681518110151561528e57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a858115156152ca57fe5b04945061523b565b5b505050919050565b6152e36177ec565b6000600060426040518059106152f65750595b908082528060200260200182016040525b5092507f300000000000000000000000000000000000000000000000000000000000000083600081518110151561533a57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000083600181518110151561539a57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350604191505b60028260ff161015156154e157600f841690506010848115156153ee57fe5b049350600a8160ff16101561546957603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff1681518110151561543457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506154d4565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff168151811015156154a357fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b816001900391506153cf565b5b5050919050565b6154f16177ec565b6000600090505b8251811015615704577f4100000000000000000000000000000000000000000000000000000000000000838281518110151561553057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561564557507f5a0000000000000000000000000000000000000000000000000000000000000083828151811015156155d557fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b156156f85760207f010000000000000000000000000000000000000000000000000000000000000002838281518110151561567c57fe5b90602001018181517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002179150907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b8060010190506154f8565b8291505b50919050565b6157166177ec565b600060008486510384111561572c578486510393505b60008411151561574e576020604051908101604052806000815250925061578a565b8360405180591061575c5750595b908082528060200260200182016040525b509250602086019150602083019050615789818684018661630c565b5b50509392505050565b61579b6177ec565b6157a361795c565b600060006000600060286040518059106157ba5750595b908082528060200260200182016040525b509450600093505b6014841015615997578360130360080260020a8773ffffffffffffffffffffffffffffffffffffffff1681151561580657fe5b047f01000000000000000000000000000000000000000000000000000000000000000292506010837f0100000000000000000000000000000000000000000000000000000000000000900460ff1681151561585d57fe5b047f0100000000000000000000000000000000000000000000000000000000000000029150817f01000000000000000000000000000000000000000000000000000000000000009004601002837f01000000000000000000000000000000000000000000000000000000000000009004037f01000000000000000000000000000000000000000000000000000000000000000290506158fb826165d4565b858560020281518110151561590c57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350615945816165d4565b856001866002020181518110151561595957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b83806001019450506157d3565b8495505b5050505050919050565b6159ad6177ec565b60006000602a6040518059106159c05750595b908082528060200260200182016040525b5092507f3000000000000000000000000000000000000000000000000000000000000000836000815181101515615a0457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000836001815181101515615a6457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350602991505b60028260ff16101515615bab57600f84169050601084811515615ab857fe5b049350600a8160ff161015615b3357603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff16815181101515615afe57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350615b9e565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff16815181101515615b6d57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b81600190039150615a99565b5b5050919050565b615bbb6177ec565b600060006000600060006000871415615c0c57604060405190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509550615d88565b86945060019350600092506000871215615c33578660000394506000935082806001019350505b8491505b6000821115615c5c57600a82811515615c4c57fe5b0491508280600101935050615c37565b8260ff16604051805910615c6d5750595b908082528060200260200182016040525b509550831515615ce9577f2d00000000000000000000000000000000000000000000000000000000000000866000815181101515615cb857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001830390505b6000851115615d87576030600a86811515615d0757fe5b06017f01000000000000000000000000000000000000000000000000000000000000000286828060019003935060ff16815181101515615d4357fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85811515615d7f57fe5b049450615cf0565b5b5050505050919050565b6000615d9d8361617c565b615de6604060405190810160405280600281526020017f6964000000000000000000000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b836000019080519060200190615dfd929190617970565b50615e47604060405190810160405280600881526020017f66696c656e616d65000000000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b836002019080519060200190615e5e929190617970565b50615ea8604060405190810160405280600981526020017f636f6e7461696e65720000000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b836001019080519060200190615ebf929190617970565b50615f09604060405190810160405280600481526020017f73697a650000000000000000000000000000000000000000000000000000000081525083616e1990919063ffffffff16565b8360040181905550615f5a604060405190810160405280600981526020017f66696c655f686173680000000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b836006019080519060200190615f71929190617970565b50615fbb604060405190810160405280600481526020017f747970650000000000000000000000000000000000000000000000000000000081525083616e1990919063ffffffff16565b836009018190555061600c604060405190810160405280600a81526020017f70726976696c6967657300000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b83600a019080519060200190616023929190617970565b5061606d604060405190810160405280600481526020017f696e666f00000000000000000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b83600b019080519060200190616084929190617970565b506160ce604060405190810160405280600881526020017f7372635f6e6f6465000000000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b8360070190805190602001906160e5929190617970565b5061612f604060405190810160405280600a81526020017f6e6f64655f67726f757000000000000000000000000000000000000000000000815250836166c990919063ffffffff16565b836008019080519060200190616146929190617970565b5060008360000180546001816001161561010002031660029004905014156161715760009050616176565b600190505b92915050565b60206040519081016040528060008152508160000190805190602001906161a4929190617970565b5060206040519081016040528060008152508160020190805190602001906161cd929190617970565b5060206040519081016040528060008152508160010190805190602001906161f6929190617970565b50600081600401819055506020604051908101604052806000815250816006019080519060200190616229929190617970565b506020604051908101604052806000815250816008019080519060200190616252929190617970565b506000816009018190555060008160030181905550602060405190810160405280600081525081600a01908051906020019061628f929190617970565b50602060405190810160405280600081525081600b0190805190602001906162b8929190617970565b5060206040519081016040528060008152508160070190805190602001906162e1929190617970565b50600081600c0160006101000a81548160ff0219169083600181111561630357fe5b02179055505b50565b60005b60208210151561633557825184526020840193506020830192505b60208203915061630f565b6001826020036101000a039050801983511681855116818117865250505b50505050565b6163616177ec565b6000600060006000600586518851010160405180591061637e5750595b908082528060200260200182016040525b509450602087019350602086019250602085019150600090507f220000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156163dd57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061641b81830184885161630c565b8551810190507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561645657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a0000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156164bb57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561652057fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061655e81830185895161630c565b8651810190507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561659957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5050505092915050565b6000600a7f010000000000000000000000000000000000000000000000000000000000000002827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015616673576030827f01000000000000000000000000000000000000000000000000000000000000009004017f01000000000000000000000000000000000000000000000000000000000000000290506166c4565b6057827f01000000000000000000000000000000000000000000000000000000000000009004017f01000000000000000000000000000000000000000000000000000000000000000290506166c4565b5b919050565b6166d16177ec565b6000600060006000600060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b600115616c22576167a161679089604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8614156168905761686061684f89604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f27000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561688f57616e0d565b5b600288510186019550600093505b8851861015616c00577f200000000000000000000000000000000000000000000000000000000000000089878151811015156168d657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806169e857507f0900000000000000000000000000000000000000000000000000000000000000898781518110151561697957fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80616a8c57507f0d000000000000000000000000000000000000000000000000000000000000008987815181101515616a1d57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80616b3057507f0a000000000000000000000000000000000000000000000000000000000000008987815181101515616ac157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15616b42578580600101965050616bfb565b7f3a000000000000000000000000000000000000000000000000000000000000008987815181101515616b7157fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415616bf557858060010196505060019350616c00565b616c00565b5b61689e565b8851861415616c0e57616e0d565b8315616c1957616c22565b8594505b616705565b60019250616c71604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250878b6176c29092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415616d1a5760009250616cea604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250878b6176c29092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415616d1957616e0d565b5b6001820191508215616d7857616d71604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250838b6176c29092919063ffffffff16565b9050616dc6565b616dc3604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250838b6176c29092919063ffffffff16565b90505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811415616df357616e0d565b616e0a828383038b61570e9092919063ffffffff16565b96505b50505050505092915050565b6000600060006000600060006000600096507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b60011561737057616eef616ede89604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415616fde57616fae616f9d89604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f27000000000000000000000000000000000000000000000000000000000000008152506143a49092919063ffffffff16565b868b6176c29092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415616fdd576176b6565b5b600288510186019550600093505b885186101561734e577f2000000000000000000000000000000000000000000000000000000000000000898781518110151561702457fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061713657507f090000000000000000000000000000000000000000000000000000000000000089878151811015156170c757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806171da57507f0d00000000000000000000000000000000000000000000000000000000000000898781518110151561716b57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061727e57507f0a00000000000000000000000000000000000000000000000000000000000000898781518110151561720f57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15617290578580600101965050617349565b7f3a0000000000000000000000000000000000000000000000000000000000000089878151811015156172bf57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156173435785806001019650506001935061734e565b61734e565b5b616fec565b885186141561735c576176b6565b831561736757617370565b8594505b616e53565b8592505b885183101561746d57888381518110151561738b57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060208260ff161480617410575060098260ff16145b8061741e5750600d8260ff16145b8061742c5750600a8260ff16145b8061743a5750603a8260ff16145b80617448575060228260ff16145b80617456575060278260ff16145b15156174615761746d565b5b826001019250617374565b600190507f2b0000000000000000000000000000000000000000000000000000000000000089848151811015156174a057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415617524576001905082806001019350506175d4565b7f2d00000000000000000000000000000000000000000000000000000000000000898481518110151561755357fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156175d3576000905082806001019350505b5b5b88518310156176a75788838151811015156175ec57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060308260ff1610158015617674575060398260ff1611155b151561768d57801515617688578660000396505b6176b6565b6030820360ff16600a88020196505b8260010192506175d5565b8015156176b5578660000396505b5b50505050505092915050565b6000600060006000602087019250602086019150826176e98689510387860189518661772c565b03905086518110156176fd57809350617721565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff93505b5b5050509392505050565b6000600060006000600088871115156177da5760208711151561778f5760018760200360080260020a031980875116888b038a018a96505b81838851161461778457600187019650806001880310617764578b8b0196505b5050508394506177e0565b8686209150879350600092505b868903831115156177d85786842090508060001916826000191614156177c4578394506177e0565b6001840193505b828060010193505061779c565b5b5b88880194505b50505050949350505050565b602060405190810160405280600081525090565b8154818355818115116178275781836000526020600020918201910161782691906179f0565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061786557805485556178a2565b828001600101855582156178a257600052602060002091601f016020900482015b828111156178a1578254825591600101919060010190617886565b5b5090506178af9190617a1c565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106178ec5780548555617929565b8280016001018555821561792957600052602060002091601f016020900482015b8281111561792857825482559160010191906001019061790d565b5b5090506179369190617a1c565b5090565b508054600082559060005260206000209081019061795891906179f0565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106179b157805160ff19168380011785556179df565b828001600101855582156179df579182015b828111156179de5782518255916020019190600101906179c3565b5b5090506179ec9190617a1c565b5090565b617a1991905b80821115617a155760008181617a0c9190617a41565b506001016179f6565b5090565b90565b617a3e91905b80821115617a3a576000816000905550600101617a22565b5090565b90565b50805460018160011615610100020316600290046000825580601f10617a675750617a86565b601f016020900490600052602060002090810190617a859190617a1c565b5b505600a165627a7a72305820759c4e111a77be73f26349d882e83b7694c0efa3e7448b1f7250f5fec8ab36ef0029"; private FileInfoManager(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit, Boolean isInitByName) { super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit, isInitByName); if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY); } private FileInfoManager(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit, Boolean isInitByName) { super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit, isInitByName); if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY); } private FileInfoManager(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) { super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit, false); if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY); } private FileInfoManager(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) { super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit, false); if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY); } public static List getNotifyEvents(TransactionReceipt transactionReceipt) { final Event event = new Event("Notify", Arrays.>asList(), Arrays.>asList(new TypeReference() {}, new TypeReference() {})); List valueList = extractEventParameters(event, transactionReceipt); ArrayList responses = new ArrayList(valueList.size()); for (EventValues eventValues : valueList) { NotifyEventResponse typedResponse = new NotifyEventResponse(); typedResponse._errno = (Uint256) eventValues.getNonIndexedValues().get(0); typedResponse._info = (Utf8String) eventValues.getNonIndexedValues().get(1); responses.add(typedResponse); } return responses; } public Observable notifyEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) { final Event event = new Event("Notify", Arrays.>asList(), Arrays.>asList(new TypeReference() {}, new TypeReference() {})); EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress()); filter.addSingleTopic(EventEncoder.encode(event)); return web3j.ethLogObservable(filter).map(new Func1() { @Override public NotifyEventResponse call(Log log) { EventValues eventValues = extractEventParameters(event, log); NotifyEventResponse typedResponse = new NotifyEventResponse(); typedResponse._errno = (Uint256) eventValues.getNonIndexedValues().get(0); typedResponse._info = (Utf8String) eventValues.getNonIndexedValues().get(1); return typedResponse; } }); } public Future getErrno() { Function function = new Function("getErrno", Arrays.asList(), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future stringToUint(Utf8String _str) { Function function = new Function("stringToUint", Arrays.asList(_str), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future listByGroup(Utf8String _group) { Function function = new Function("listByGroup", Arrays.asList(_group), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future deleteById(Utf8String _fileId) { Function function = new Function("deleteById", Arrays.asList(_fileId), Collections.>emptyList()); return executeTransactionAsync(function); } public void deleteById(Utf8String _fileId, TransactionSucCallback callback) { Function function = new Function("deleteById", Arrays.asList(_fileId), Collections.>emptyList()); executeTransactionAsync(function, callback); } public Future log(Utf8String _str, Utf8String _str2, Utf8String _topic) { Function function = new Function("log", Arrays.asList(_str, _str2, _topic), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future pageByGroup(Utf8String _group, Uint256 _pageNo) { Function function = new Function("pageByGroup", Arrays.asList(_group, _pageNo), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future log(Utf8String _str, Address _addr) { Function function = new Function("log", Arrays.asList(_str, _addr), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future log(Utf8String _str, Int256 _i) { Function function = new Function("log", Arrays.asList(_str, _i), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future update(Utf8String _fileJson) { Function function = new Function("update", Arrays.asList(_fileJson), Collections.>emptyList()); return executeTransactionAsync(function); } public void update(Utf8String _fileJson, TransactionSucCallback callback) { Function function = new Function("update", Arrays.asList(_fileJson), Collections.>emptyList()); executeTransactionAsync(function, callback); } public Future register(Utf8String _name, Utf8String _version) { Function function = new Function("register", Arrays.asList(_name, _version), Collections.>emptyList()); return executeTransactionAsync(function); } public void register(Utf8String _name, Utf8String _version, TransactionSucCallback callback) { Function function = new Function("register", Arrays.asList(_name, _version), Collections.>emptyList()); executeTransactionAsync(function, callback); } public Future log(Utf8String _str) { Function function = new Function("log", Arrays.asList(_str), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future kill() { Function function = new Function("kill", Arrays.asList(), Collections.>emptyList()); return executeTransactionAsync(function); } public void kill(TransactionSucCallback callback) { Function function = new Function("kill", Arrays.asList(), Collections.>emptyList()); executeTransactionAsync(function, callback); } public Future log(Utf8String _str, Utf8String _topic) { Function function = new Function("log", Arrays.asList(_str, _topic), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future getSender() { Function function = new Function("getSender", Arrays.asList(), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future listAll() { Function function = new Function("listAll", Arrays.asList(), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future getCurrentPageCount() { Function function = new Function("getCurrentPageCount", Arrays.asList(), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future find(Utf8String _fileId) { Function function = new Function("find", Arrays.asList(_fileId), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future generateFileID(Utf8String _salt, Utf8String _groupID, Utf8String _serverId, Utf8String _filename) { Function function = new Function("generateFileID", Arrays.asList(_salt, _groupID, _serverId, _filename), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future getGroupPageCount(Utf8String _group) { Function function = new Function("getGroupPageCount", Arrays.asList(_group), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future getOwner() { Function function = new Function("getOwner", Arrays.asList(), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future getCount() { Function function = new Function("getCount", Arrays.asList(), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future insert(Utf8String _fileJson) { Function function = new Function("insert", Arrays.asList(_fileJson), Collections.>emptyList()); return executeTransactionAsync(function); } public void insert(Utf8String _fileJson, TransactionSucCallback callback) { Function function = new Function("insert", Arrays.asList(_fileJson), Collections.>emptyList()); executeTransactionAsync(function, callback); } public Future log(Utf8String _str, Uint256 _ui) { Function function = new Function("log", Arrays.asList(_str, _ui), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future pageFiles(Uint256 _pageNo, Uint256 _pageSize) { Function function = new Function("pageFiles", Arrays.asList(_pageNo, _pageSize), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future getCurrentPageSize() { Function function = new Function("getCurrentPageSize", Arrays.asList(), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public Future getGroupFileCount(Utf8String _group) { Function function = new Function("getGroupFileCount", Arrays.asList(_group), Arrays.>asList(new TypeReference() {})); return executeCallSingleValueReturnAsync(function); } public static Future deploy(Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue) { if(EncryptType.encryptType == 1) setBinary(getGuomiBinary()); return deployAsync(FileInfoManager.class, web3j, credentials, gasPrice, gasLimit, BINARY, "", initialWeiValue); } public static Future deploy(Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue) { if(EncryptType.encryptType == 1) setBinary(getGuomiBinary()); return deployAsync(FileInfoManager.class, web3j, transactionManager, gasPrice, gasLimit, BINARY, "", initialWeiValue); } public static FileInfoManager load(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) { return new FileInfoManager(contractAddress, web3j, credentials, gasPrice, gasLimit, false); } public static FileInfoManager load(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) { return new FileInfoManager(contractAddress, web3j, transactionManager, gasPrice, gasLimit, false); } public static FileInfoManager loadByName(String contractName, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) { return new FileInfoManager(contractName, web3j, credentials, gasPrice, gasLimit, true); } public static FileInfoManager loadByName(String contractName, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) { return new FileInfoManager(contractName, web3j, transactionManager, gasPrice, gasLimit, true); } public static void setBinary(String binary) { BINARY = binary; } public static String getGuomiBinary() { return GUOMI_BINARY; } public static class NotifyEventResponse { public Uint256 _errno; public Utf8String _info; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy