60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c908051906020019062000051929190620003db565b50670de0b6b3a7640000600e55610bb8600f55600860105560016011556000601260006101000a81548160ff0219169083151502179055506001601260016101000a81548160ff0219169083151502179055506001601260026101000a81548160ff02191690831515021790555060006015556546aaf0e628006017556550c35c74c000601955348015620000e557600080fd5b50604051620066743803806200667483398181016040528101906200010b919062000509565b8383816000908051906020019062000125929190620003db565b5080600190805190602001906200013e929190620003db565b50505062000161620001556200018d60201b60201c565b6200019560201b60201c565b62000172826200025b60201b60201c565b62000183816200030660201b60201c565b50505050620007fe565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200026b6200018d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000291620003b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e1906200061e565b60405180910390fd5b80600b908051906020019062000302929190620003db565b5050565b620003166200018d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200033c620003b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000395576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200038c906200061e565b60405180910390fd5b80600d9080519060200190620003ad929190620003db565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003e990620006e6565b90600052602060002090601f0160209004810192826200040d576000855562000459565b82601f106200042857805160ff191683800117855562000459565b8280016001018555821562000459579182015b82811115620004585782518255916020019190600101906200043b565b5b5090506200046891906200046c565b5090565b5b80821115620004875760008160009055506001016200046d565b5090565b6000620004a26200049c8462000669565b62000640565b905082815260208101848484011115620004c157620004c0620007b5565b5b620004ce848285620006b0565b509392505050565b600082601f830112620004ee57620004ed620007b0565b5b8151620005008482602086016200048b565b91505092915050565b60008060008060808587031215620005265762000525620007bf565b5b600085015167ffffffffffffffff811115620005475762000546620007ba565b5b6200055587828801620004d6565b945050602085015167ffffffffffffffff811115620005795762000578620007ba565b5b6200058787828801620004d6565b935050604085015167ffffffffffffffff811115620005ab57620005aa620007ba565b5b620005b987828801620004d6565b925050606085015167ffffffffffffffff811115620005dd57620005dc620007ba565b5b620005eb87828801620004d6565b91505092959194509250565b6000620006066020836200069f565b91506200061382620007d5565b602082019050919050565b600060208201905081810360008301526200063981620005f7565b9050919050565b60006200064c6200065f565b90506200065a82826200071c565b919050565b6000604051905090565b600067ffffffffffffffff82111562000687576200068662000781565b5b6200069282620007c4565b9050602081019050919050565b600082825260208201905092915050565b60005b83811015620006d0578082015181840152602081019050620006b3565b83811115620006e0576000848401525b50505050565b60006002820490506001821680620006ff57607f821691505b6020821081141562000716576200071562000752565b5b50919050565b6200072782620007c4565b810181811067ffffffffffffffff8211171562000749576200074862000781565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b615e66806200080e6000396000f3fe6080604052600436106102ff5760003560e01c80636352211e11610190578063b88d4fde116100dc578063d0eb26b011610095578063e985e9c51161006f578063e985e9c514610b98578063f1b59f9514610bd5578063f2c4ce1e14610bfe578063f2fde38b14610c27576102ff565b8063d0eb26b014610b1b578063d5abeb0114610b44578063da3ef23f14610b6f576102ff565b8063b88d4fde146109f9578063ba7d2c7614610a22578063c668286214610a4d578063c74aad6e14610a78578063c87b56dd14610aa1578063ccb8c1e014610ade576102ff565b80638b351536116101495780639f1566c3116101235780639f1566c314610974578063a0712d681461099d578063a22cb465146109b9578063a475b5dd146109e2576102ff565b80638b351536146108e15780638da5cb5b1461091e57806395d89b4114610949576102ff565b80636352211e146107d35780636c0360eb1461081057806370a082311461083b578063715018a6146108785780637f00c7a61461088f57806382dff64a146108b8576102ff565b806323b872dd1161024f578063438b63001161020857806351830227116101e2578063518302271461071757806355f804b314610742578063582962b71461076b5780635c975abb146107a8576102ff565b8063438b63001461067457806344a0d68a146106b15780634f6ccce7146106da576102ff565b806323b872dd14610573578063252a88751461059c5780632f745c59146105d95780633ccfd60b146106165780633d06a9691461062057806342842e0e1461064b576102ff565b806313faede6116102bc57806318160ddd1161029657806318160ddd146104b757806318cae269146104e25780631d06a0bd1461051f578063239c70ae14610548576102ff565b806313faede614610426578063163c27731461045157806316def05e1461048e576102ff565b806301ffc9a71461030457806302329a291461034157806306fdde031461036a578063081812fc14610395578063081c8c44146103d2578063095ea7b3146103fd575b600080fd5b34801561031057600080fd5b5061032b600480360381019061032691906146b9565b610c50565b6040516103389190614e00565b60405180910390f35b34801561034d57600080fd5b506103686004803603810190610363919061468c565b610cca565b005b34801561037657600080fd5b5061037f610d63565b60405161038c9190614e1b565b60405180910390f35b3480156103a157600080fd5b506103bc60048036038101906103b7919061475c565b610df5565b6040516103c99190614d77565b60405180910390f35b3480156103de57600080fd5b506103e7610e7a565b6040516103f49190614e1b565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f919061453c565b610f08565b005b34801561043257600080fd5b5061043b611020565b604051610448919061519d565b60405180910390f35b34801561045d57600080fd5b506104786004803603810190610473919061475c565b611026565b604051610485919061519d565b60405180910390f35b34801561049a57600080fd5b506104b560048036038101906104b0919061468c565b611198565b005b3480156104c357600080fd5b506104cc611231565b6040516104d9919061519d565b60405180910390f35b3480156104ee57600080fd5b50610509600480360381019061050491906143b9565b61123e565b604051610516919061519d565b60405180910390f35b34801561052b57600080fd5b50610546600480360381019061054191906145cf565b611256565b005b34801561055457600080fd5b5061055d6114e8565b60405161056a919061519d565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190614426565b6114ee565b005b3480156105a857600080fd5b506105c360048036038101906105be919061475c565b61154e565b6040516105d0919061519d565b60405180910390f35b3480156105e557600080fd5b5061060060048036038101906105fb919061453c565b611581565b60405161060d919061519d565b60405180910390f35b61061e611626565b005b34801561062c57600080fd5b50610635611722565b6040516106429190614e00565b60405180910390f35b34801561065757600080fd5b50610672600480360381019061066d9190614426565b611735565b005b34801561068057600080fd5b5061069b600480360381019061069691906143b9565b611755565b6040516106a89190614dde565b60405180910390f35b3480156106bd57600080fd5b506106d860048036038101906106d3919061475c565b611803565b005b3480156106e657600080fd5b5061070160048036038101906106fc919061475c565b611889565b60405161070e919061519d565b60405180910390f35b34801561072357600080fd5b5061072c6118fa565b6040516107399190614e00565b60405180910390f35b34801561074e57600080fd5b5061076960048036038101906107649190614713565b61190d565b005b34801561077757600080fd5b50610792600480360381019061078d91906143b9565b6119a3565b60405161079f919061519d565b60405180910390f35b3480156107b457600080fd5b506107bd611ad5565b6040516107ca9190614e00565b60405180910390f35b3480156107df57600080fd5b506107fa60048036038101906107f5919061475c565b611ae8565b6040516108079190614d77565b60405180910390f35b34801561081c57600080fd5b50610825611b9a565b6040516108329190614e1b565b60405180910390f35b34801561084757600080fd5b50610862600480360381019061085d91906143b9565b611c28565b60405161086f919061519d565b60405180910390f35b34801561088457600080fd5b5061088d611ce0565b005b34801561089b57600080fd5b506108b660048036038101906108b1919061475c565b611d68565b005b3480156108c457600080fd5b506108df60048036038101906108da919061475c565b611dee565b005b3480156108ed57600080fd5b50610908600480360381019061090391906143b9565b611e74565b6040516109159190614e00565b60405180910390f35b34801561092a57600080fd5b50610933611e94565b6040516109409190614d77565b60405180910390f35b34801561095557600080fd5b5061095e611ebe565b60405161096b9190614e1b565b60405180910390f35b34801561098057600080fd5b5061099b6004803603810190610996919061475c565b611f50565b005b6109b760048036038101906109b2919061475c565b611fd6565b005b3480156109c557600080fd5b506109e060048036038101906109db91906144fc565b61251c565b005b3480156109ee57600080fd5b506109f7612532565b005b348015610a0557600080fd5b50610a206004803603810190610a1b9190614479565b6125cb565b005b348015610a2e57600080fd5b50610a3761262d565b604051610a44919061519d565b60405180910390f35b348015610a5957600080fd5b50610a62612633565b604051610a6f9190614e1b565b60405180910390f35b348015610a8457600080fd5b50610a9f6004803603810190610a9a919061457c565b6126c1565b005b348015610aad57600080fd5b50610ac86004803603810190610ac3919061475c565b612865565b604051610ad59190614e1b565b60405180910390f35b348015610aea57600080fd5b50610b056004803603810190610b009190614643565b6129be565b604051610b12919061519d565b60405180910390f35b348015610b2757600080fd5b50610b426004803603810190610b3d919061475c565b612a15565b005b348015610b5057600080fd5b50610b59612a9b565b604051610b66919061519d565b60405180910390f35b348015610b7b57600080fd5b50610b966004803603810190610b919190614713565b612aa1565b005b348015610ba457600080fd5b50610bbf6004803603810190610bba91906143e6565b612b37565b604051610bcc9190614e00565b60405180910390f35b348015610be157600080fd5b50610bfc6004803603810190610bf7919061475c565b612bcb565b005b348015610c0a57600080fd5b50610c256004803603810190610c209190614713565b612c51565b005b348015610c3357600080fd5b50610c4e6004803603810190610c4991906143b9565b612ce7565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cc35750610cc282612ddf565b5b9050919050565b610cd2612ec1565b73ffffffffffffffffffffffffffffffffffffffff16610cf0611e94565b73ffffffffffffffffffffffffffffffffffffffff1614610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d9061503d565b60405180910390fd5b80601260006101000a81548160ff02191690831515021790555050565b606060008054610d72906154d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9e906154d2565b8015610deb5780601f10610dc057610100808354040283529160200191610deb565b820191906000526020600020905b815481529060010190602001808311610dce57829003601f168201915b5050505050905090565b6000610e0082612ec9565b610e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e369061501d565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600d8054610e87906154d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb3906154d2565b8015610f005780601f10610ed557610100808354040283529160200191610f00565b820191906000526020600020905b815481529060010190602001808311610ee357829003601f168201915b505050505081565b6000610f1382611ae8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7b9061509d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610fa3612ec1565b73ffffffffffffffffffffffffffffffffffffffff161480610fd25750610fd181610fcc612ec1565b612b37565b5b611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100890614f5d565b60405180910390fd5b61101b8383612f35565b505050565b600e5481565b600080611031611231565b905060008367ffffffffffffffff81111561104f5761104e61569a565b5b60405190808252806020026020018201604052801561107d5781602001602082028036833780820191505090505b50905060008211156110d85760005b848110156110d25780836110a09190615307565b8282815181106110b3576110b261566b565b5b60200260200101818152505080806110ca90615535565b91505061108c565b50611124565b60005b84811015611122576001816110f09190615307565b8282815181106111035761110261566b565b5b602002602001018181525050808061111a90615535565b9150506110db565b505b60005b8151811015611185576111538282815181106111465761114561566b565b5b6020026020010151612fee565b8282815181106111665761116561566b565b5b602002602001018181525050808061117d90615535565b915050611127565b5061118f816129be565b92505050919050565b6111a0612ec1565b73ffffffffffffffffffffffffffffffffffffffff166111be611e94565b73ffffffffffffffffffffffffffffffffffffffff1614611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b9061503d565b60405180910390fd5b80601260026101000a81548160ff02191690831515021790555050565b6000600880549050905090565b60136020528060005260406000206000915090505481565b61125e612ec1565b73ffffffffffffffffffffffffffffffffffffffff1661127c611e94565b73ffffffffffffffffffffffffffffffffffffffff16146112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c99061503d565b60405180910390fd5b60018214156113825760005b848490508110156113805760008585838181106112fe576112fd61566b565b5b905060200201602081019061131391906143b9565b905082601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050808061137890615535565b9150506112de565b505b60028214156114325760005b848490508110156114305760008585838181106113ae576113ad61566b565b5b90506020020160208101906113c391906143b9565b905082601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050808061142890615535565b91505061138e565b505b60038214156114e25760005b848490508110156114e057600085858381811061145e5761145d61566b565b5b905060200201602081019061147391906143b9565b905082601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505080806114d890615535565b91505061143e565b505b50505050565b60105481565b6114ff6114f9612ec1565b82613077565b61153e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611535906150dd565b60405180910390fd5b611549838383613155565b505050565b6000600182141561156357601554905061157c565b600282141561157657601754905061157c565b60195490505b919050565b600061158c83611c28565b82106115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c490614e3d565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61162e612ec1565b73ffffffffffffffffffffffffffffffffffffffff1661164c611e94565b73ffffffffffffffffffffffffffffffffffffffff16146116a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116999061503d565b60405180910390fd5b60006116ac611e94565b73ffffffffffffffffffffffffffffffffffffffff16476040516116cf90614d62565b60006040518083038185875af1925050503d806000811461170c576040519150601f19603f3d011682016040523d82523d6000602084013e611711565b606091505b505090508061171f57600080fd5b50565b601260029054906101000a900460ff1681565b611750838383604051806020016040528060008152506125cb565b505050565b6060600061176283611c28565b905060008167ffffffffffffffff8111156117805761177f61569a565b5b6040519080825280602002602001820160405280156117ae5781602001602082028036833780820191505090505b50905060005b828110156117f8576117c68582611581565b8282815181106117d9576117d861566b565b5b60200260200101818152505080806117f090615535565b9150506117b4565b508092505050919050565b61180b612ec1565b73ffffffffffffffffffffffffffffffffffffffff16611829611e94565b73ffffffffffffffffffffffffffffffffffffffff161461187f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118769061503d565b60405180910390fd5b80600e8190555050565b6000611893611231565b82106118d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cb906150fd565b60405180910390fd5b600882815481106118e8576118e761566b565b5b90600052602060002001549050919050565b601260019054906101000a900460ff1681565b611915612ec1565b73ffffffffffffffffffffffffffffffffffffffff16611933611e94565b73ffffffffffffffffffffffffffffffffffffffff1614611989576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119809061503d565b60405180910390fd5b80600b908051906020019061199f9291906140d9565b5050565b600060011515601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611a075760019050611ad0565b60011515601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611a695760029050611ad0565b60011515601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415611acb5760039050611ad0565b600090505b919050565b601260009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8890614f9d565b60405180910390fd5b80915050919050565b600b8054611ba7906154d2565b80601f0160208091040260200160405190810160405280929190818152602001828054611bd3906154d2565b8015611c205780601f10611bf557610100808354040283529160200191611c20565b820191906000526020600020905b815481529060010190602001808311611c0357829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9090614f7d565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611ce8612ec1565b73ffffffffffffffffffffffffffffffffffffffff16611d06611e94565b73ffffffffffffffffffffffffffffffffffffffff1614611d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d539061503d565b60405180910390fd5b611d6660006133bc565b565b611d70612ec1565b73ffffffffffffffffffffffffffffffffffffffff16611d8e611e94565b73ffffffffffffffffffffffffffffffffffffffff1614611de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddb9061503d565b60405180910390fd5b8060108190555050565b611df6612ec1565b73ffffffffffffffffffffffffffffffffffffffff16611e14611e94565b73ffffffffffffffffffffffffffffffffffffffff1614611e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e619061503d565b60405180910390fd5b8060158190555050565b60146020528060005260406000206000915054906101000a900460ff1681565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054611ecd906154d2565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef9906154d2565b8015611f465780601f10611f1b57610100808354040283529160200191611f46565b820191906000526020600020905b815481529060010190602001808311611f2957829003601f168201915b5050505050905090565b611f58612ec1565b73ffffffffffffffffffffffffffffffffffffffff16611f76611e94565b73ffffffffffffffffffffffffffffffffffffffff1614611fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc39061503d565b60405180910390fd5b8060198190555050565b601260009054906101000a900460ff1615612026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d9061505d565b60405180910390fd5b6000612030611231565b9050600061203d336119a3565b905060008311612082576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120799061517d565b60405180910390fd5b6010548311156120c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120be90614fdd565b60405180910390fd5b600f5483836120d69190615307565b1115612117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210e90614fbd565b60405180910390fd5b60011515601260029054906101000a900460ff16151514801561213a5750600081145b1561218a5761214883611026565b3414612189576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121809061513d565b60405180910390fd5b5b612192611e94565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123655760008111156122eb5760006121d88261154e565b90506001841461221d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122149061511d565b60405180910390fd5b80341461225f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122569061515d565b60405180910390fd5b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506011548111156122e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122df90614edd565b60405180910390fd5b50505b60001515601260029054906101000a900460ff16151514801561230e5750600081145b156123645782600e54612321919061538e565b341015612363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235a906150bd565b60405180910390fd5b5b5b6000600190505b83811161251657601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906123c390615535565b9190505550600182141561242a576000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600282141561248c576000601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60038214156124ee576000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6125033382856124fe9190615307565b613482565b808061250e90615535565b91505061236c565b50505050565b61252e612527612ec1565b83836134a0565b5050565b61253a612ec1565b73ffffffffffffffffffffffffffffffffffffffff16612558611e94565b73ffffffffffffffffffffffffffffffffffffffff16146125ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a59061503d565b60405180910390fd5b6001601260016101000a81548160ff021916908315150217905550565b6125dc6125d6612ec1565b83613077565b61261b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612612906150dd565b60405180910390fd5b6126278484848461360d565b50505050565b60115481565b600c8054612640906154d2565b80601f016020809104026020016040519081016040528092919081815260200182805461266c906154d2565b80156126b95780601f1061268e576101008083540402835291602001916126b9565b820191906000526020600020905b81548152906001019060200180831161269c57829003601f168201915b505050505081565b6126c9612ec1565b73ffffffffffffffffffffffffffffffffffffffff166126e7611e94565b73ffffffffffffffffffffffffffffffffffffffff161461273d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127349061503d565b60405180910390fd5b600182141561279e5780601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60028214156127ff5780601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60038214156128605780601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b505050565b606061287082612ec9565b6128af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a69061507d565b60405180910390fd5b60001515601260019054906101000a900460ff161515141561295d57600d80546128d8906154d2565b80601f0160208091040260200160405190810160405280929190818152602001828054612904906154d2565b80156129515780601f1061292657610100808354040283529160200191612951565b820191906000526020600020905b81548152906001019060200180831161293457829003601f168201915b505050505090506129b9565b6000612967613669565b9050600081511161298757604051806020016040528060008152506129b5565b80612991846136fb565b600c6040516020016129a593929190614d31565b6040516020818303038152906040525b9150505b919050565b60008060008091505b8351821015612a0b578382815181106129e3576129e261566b565b5b6020026020010151816129f69190615307565b90508180612a0390615535565b9250506129c7565b8092505050919050565b612a1d612ec1565b73ffffffffffffffffffffffffffffffffffffffff16612a3b611e94565b73ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a889061503d565b60405180910390fd5b8060118190555050565b600f5481565b612aa9612ec1565b73ffffffffffffffffffffffffffffffffffffffff16612ac7611e94565b73ffffffffffffffffffffffffffffffffffffffff1614612b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b149061503d565b60405180910390fd5b80600c9080519060200190612b339291906140d9565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612bd3612ec1565b73ffffffffffffffffffffffffffffffffffffffff16612bf1611e94565b73ffffffffffffffffffffffffffffffffffffffff1614612c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3e9061503d565b60405180910390fd5b8060178190555050565b612c59612ec1565b73ffffffffffffffffffffffffffffffffffffffff16612c77611e94565b73ffffffffffffffffffffffffffffffffffffffff1614612ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc49061503d565b60405180910390fd5b80600d9080519060200190612ce39291906140d9565b5050565b612cef612ec1565b73ffffffffffffffffffffffffffffffffffffffff16612d0d611e94565b73ffffffffffffffffffffffffffffffffffffffff1614612d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5a9061503d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dca90614e7d565b60405180910390fd5b612ddc816133bc565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612eaa57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612eba5750612eb98261385c565b5b9050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612fa883611ae8565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006101f4821161300757655af3107a40009050613072565b6103e8821161301f57660110d9316ec0009050613072565b6105dc82116130375766016bcc41e900009050613072565b6107d0821161304f576601c6bf526340009050613072565b6109c4821161306757660221b262dd80009050613072565b66027ca57357c00090505b919050565b600061308282612ec9565b6130c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b890614f3d565b60405180910390fd5b60006130cc83611ae8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061313b57508373ffffffffffffffffffffffffffffffffffffffff1661312384610df5565b73ffffffffffffffffffffffffffffffffffffffff16145b8061314c575061314b8185612b37565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661317582611ae8565b73ffffffffffffffffffffffffffffffffffffffff16146131cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c290614e9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561323b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323290614efd565b60405180910390fd5b6132468383836138c6565b613251600082612f35565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546132a191906153e8565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546132f89190615307565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46133b78383836139da565b505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61349c8282604051806020016040528060008152506139df565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561350f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161350690614f1d565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516136009190614e00565b60405180910390a3505050565b613618848484613155565b61362484848484613a3a565b613663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365a90614e5d565b60405180910390fd5b50505050565b6060600b8054613678906154d2565b80601f01602080910402602001604051908101604052809291908181526020018280546136a4906154d2565b80156136f15780601f106136c6576101008083540402835291602001916136f1565b820191906000526020600020905b8154815290600101906020018083116136d457829003601f168201915b5050505050905090565b60606000821415613743576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613857565b600082905060005b6000821461377557808061375e90615535565b915050600a8261376e919061535d565b915061374b565b60008167ffffffffffffffff8111156137915761379061569a565b5b6040519080825280601f01601f1916602001820160405280156137c35781602001600182028036833780820191505090505b5090505b60008514613850576001826137dc91906153e8565b9150600a856137eb919061557e565b60306137f79190615307565b60f81b81838151811061380d5761380c61566b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85613849919061535d565b94506137c7565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6138d1838383613bd1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156139145761390f81613bd6565b613953565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614613952576139518382613c1f565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156139965761399181613d8c565b6139d5565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146139d4576139d38282613e5d565b5b5b505050565b505050565b6139e98383613edc565b6139f66000848484613a3a565b613a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a2c90614e5d565b60405180910390fd5b505050565b6000613a5b8473ffffffffffffffffffffffffffffffffffffffff166140b6565b15613bc4578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613a84612ec1565b8786866040518563ffffffff1660e01b8152600401613aa69493929190614d92565b602060405180830381600087803b158015613ac057600080fd5b505af1925050508015613af157506040513d601f19601f82011682018060405250810190613aee91906146e6565b60015b613b74573d8060008114613b21576040519150601f19603f3d011682016040523d82523d6000602084013e613b26565b606091505b50600081511415613b6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b6390614e5d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613bc9565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001613c2c84611c28565b613c3691906153e8565b9050600060076000848152602001908152602001600020549050818114613d1b576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600880549050613da091906153e8565b9050600060096000848152602001908152602001600020549050600060088381548110613dd057613dcf61566b565b5b906000526020600020015490508060088381548110613df257613df161566b565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480613e4157613e4061563c565b5b6001900381819060005260206000200160009055905550505050565b6000613e6883611c28565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f4390614ffd565b60405180910390fd5b613f5581612ec9565b15613f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f8c90614ebd565b60405180910390fd5b613fa1600083836138c6565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613ff19190615307565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46140b2600083836139da565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b8280546140e5906154d2565b90600052602060002090601f016020900481019282614107576000855561414e565b82601f1061412057805160ff191683800117855561414e565b8280016001018555821561414e579182015b8281111561414d578251825591602001919060010190614132565b5b50905061415b919061415f565b5090565b5b80821115614178576000816000905550600101614160565b5090565b600061418f61418a846151dd565b6151b8565b905080838252602082019050828560208602820111156141b2576141b16156d3565b5b60005b858110156141e257816141c888826143a4565b8452602084019350602083019250506001810190506141b5565b5050509392505050565b60006141ff6141fa84615209565b6151b8565b90508281526020810184848401111561421b5761421a6156d8565b5b614226848285615490565b509392505050565b600061424161423c8461523a565b6151b8565b90508281526020810184848401111561425d5761425c6156d8565b5b614268848285615490565b509392505050565b60008135905061427f81615dd4565b92915050565b60008083601f84011261429b5761429a6156ce565b5b8235905067ffffffffffffffff8111156142b8576142b76156c9565b5b6020830191508360208202830111156142d4576142d36156d3565b5b9250929050565b600082601f8301126142f0576142ef6156ce565b5b813561430084826020860161417c565b91505092915050565b60008135905061431881615deb565b92915050565b60008135905061432d81615e02565b92915050565b60008151905061434281615e02565b92915050565b600082601f83011261435d5761435c6156ce565b5b813561436d8482602086016141ec565b91505092915050565b600082601f83011261438b5761438a6156ce565b5b813561439b84826020860161422e565b91505092915050565b6000813590506143b381615e19565b92915050565b6000602082840312156143cf576143ce6156e2565b5b60006143dd84828501614270565b91505092915050565b600080604083850312156143fd576143fc6156e2565b5b600061440b85828601614270565b925050602061441c85828601614270565b9150509250929050565b60008060006060848603121561443f5761443e6156e2565b5b600061444d86828701614270565b935050602061445e86828701614270565b925050604061446f868287016143a4565b9150509250925092565b60008060008060808587031215614493576144926156e2565b5b60006144a187828801614270565b94505060206144b287828801614270565b93505060406144c3878288016143a4565b925050606085013567ffffffffffffffff8111156144e4576144e36156dd565b5b6144f087828801614348565b91505092959194509250565b60008060408385031215614513576145126156e2565b5b600061452185828601614270565b925050602061453285828601614309565b9150509250929050565b60008060408385031215614553576145526156e2565b5b600061456185828601614270565b9250506020614572858286016143a4565b9150509250929050565b600080600060608486031215614595576145946156e2565b5b60006145a386828701614270565b93505060206145b4868287016143a4565b92505060406145c586828701614309565b9150509250925092565b600080600080606085870312156145e9576145e86156e2565b5b600085013567ffffffffffffffff811115614607576146066156dd565b5b61461387828801614285565b94509450506020614626878288016143a4565b925050604061463787828801614309565b91505092959194509250565b600060208284031215614659576146586156e2565b5b600082013567ffffffffffffffff811115614677576146766156dd565b5b614683848285016142db565b91505092915050565b6000602082840312156146a2576146a16156e2565b5b60006146b084828501614309565b91505092915050565b6000602082840312156146cf576146ce6156e2565b5b60006146dd8482850161431e565b91505092915050565b6000602082840312156146fc576146fb6156e2565b5b600061470a84828501614333565b91505092915050565b600060208284031215614729576147286156e2565b5b600082013567ffffffffffffffff811115614747576147466156dd565b5b61475384828501614376565b91505092915050565b600060208284031215614772576147716156e2565b5b6000614780848285016143a4565b91505092915050565b60006147958383614d13565b60208301905092915050565b6147aa8161541c565b82525050565b60006147bb82615290565b6147c581856152be565b93506147d08361526b565b8060005b838110156148015781516147e88882614789565b97506147f3836152b1565b9250506001810190506147d4565b5085935050505092915050565b6148178161542e565b82525050565b60006148288261529b565b61483281856152cf565b935061484281856020860161549f565b61484b816156e7565b840191505092915050565b6000614861826152a6565b61486b81856152eb565b935061487b81856020860161549f565b614884816156e7565b840191505092915050565b600061489a826152a6565b6148a481856152fc565b93506148b481856020860161549f565b80840191505092915050565b600081546148cd816154d2565b6148d781866152fc565b945060018216600081146148f2576001811461490357614936565b60ff19831686528186019350614936565b61490c8561527b565b60005b8381101561492e5781548189015260018201915060208101905061490f565b838801955050505b50505092915050565b600061494c602b836152eb565b9150614957826156f8565b604082019050919050565b600061496f6032836152eb565b915061497a82615747565b604082019050919050565b60006149926026836152eb565b915061499d82615796565b604082019050919050565b60006149b56025836152eb565b91506149c0826157e5565b604082019050919050565b60006149d8601c836152eb565b91506149e382615834565b602082019050919050565b60006149fb601c836152eb565b9150614a068261585d565b602082019050919050565b6000614a1e6024836152eb565b9150614a2982615886565b604082019050919050565b6000614a416019836152eb565b9150614a4c826158d5565b602082019050919050565b6000614a64602c836152eb565b9150614a6f826158fe565b604082019050919050565b6000614a876038836152eb565b9150614a928261594d565b604082019050919050565b6000614aaa602a836152eb565b9150614ab58261599c565b604082019050919050565b6000614acd6029836152eb565b9150614ad8826159eb565b604082019050919050565b6000614af06016836152eb565b9150614afb82615a3a565b602082019050919050565b6000614b136024836152eb565b9150614b1e82615a63565b604082019050919050565b6000614b366020836152eb565b9150614b4182615ab2565b602082019050919050565b6000614b59602c836152eb565b9150614b6482615adb565b604082019050919050565b6000614b7c6020836152eb565b9150614b8782615b2a565b602082019050919050565b6000614b9f6016836152eb565b9150614baa82615b53565b602082019050919050565b6000614bc2602f836152eb565b9150614bcd82615b7c565b604082019050919050565b6000614be56021836152eb565b9150614bf082615bcb565b604082019050919050565b6000614c086000836152e0565b9150614c1382615c1a565b600082019050919050565b6000614c2b6012836152eb565b9150614c3682615c1d565b602082019050919050565b6000614c4e6031836152eb565b9150614c5982615c46565b604082019050919050565b6000614c71602c836152eb565b9150614c7c82615c95565b604082019050919050565b6000614c946021836152eb565b9150614c9f82615ce4565b604082019050919050565b6000614cb7600e836152eb565b9150614cc282615d33565b602082019050919050565b6000614cda6022836152eb565b9150614ce582615d5c565b604082019050919050565b6000614cfd601b836152eb565b9150614d0882615dab565b602082019050919050565b614d1c81615486565b82525050565b614d2b81615486565b82525050565b6000614d3d828661488f565b9150614d49828561488f565b9150614d5582846148c0565b9150819050949350505050565b6000614d6d82614bfb565b9150819050919050565b6000602082019050614d8c60008301846147a1565b92915050565b6000608082019050614da760008301876147a1565b614db460208301866147a1565b614dc16040830185614d22565b8181036060830152614dd3818461481d565b905095945050505050565b60006020820190508181036000830152614df881846147b0565b905092915050565b6000602082019050614e15600083018461480e565b92915050565b60006020820190508181036000830152614e358184614856565b905092915050565b60006020820190508181036000830152614e568161493f565b9050919050565b60006020820190508181036000830152614e7681614962565b9050919050565b60006020820190508181036000830152614e9681614985565b9050919050565b60006020820190508181036000830152614eb6816149a8565b9050919050565b60006020820190508181036000830152614ed6816149cb565b9050919050565b60006020820190508181036000830152614ef6816149ee565b9050919050565b60006020820190508181036000830152614f1681614a11565b9050919050565b60006020820190508181036000830152614f3681614a34565b9050919050565b60006020820190508181036000830152614f5681614a57565b9050919050565b60006020820190508181036000830152614f7681614a7a565b9050919050565b60006020820190508181036000830152614f9681614a9d565b9050919050565b60006020820190508181036000830152614fb681614ac0565b9050919050565b60006020820190508181036000830152614fd681614ae3565b9050919050565b60006020820190508181036000830152614ff681614b06565b9050919050565b6000602082019050818103600083015261501681614b29565b9050919050565b6000602082019050818103600083015261503681614b4c565b9050919050565b6000602082019050818103600083015261505681614b6f565b9050919050565b6000602082019050818103600083015261507681614b92565b9050919050565b6000602082019050818103600083015261509681614bb5565b9050919050565b600060208201905081810360008301526150b681614bd8565b9050919050565b600060208201905081810360008301526150d681614c1e565b9050919050565b600060208201905081810360008301526150f681614c41565b9050919050565b6000602082019050818103600083015261511681614c64565b9050919050565b6000602082019050818103600083015261513681614c87565b9050919050565b6000602082019050818103600083015261515681614caa565b9050919050565b6000602082019050818103600083015261517681614ccd565b9050919050565b6000602082019050818103600083015261519681614cf0565b9050919050565b60006020820190506151b26000830184614d22565b92915050565b60006151c26151d3565b90506151ce8282615504565b919050565b6000604051905090565b600067ffffffffffffffff8211156151f8576151f761569a565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156152245761522361569a565b5b61522d826156e7565b9050602081019050919050565b600067ffffffffffffffff8211156152555761525461569a565b5b61525e826156e7565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061531282615486565b915061531d83615486565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115615352576153516155af565b5b828201905092915050565b600061536882615486565b915061537383615486565b925082615383576153826155de565b5b828204905092915050565b600061539982615486565b91506153a483615486565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153dd576153dc6155af565b5b828202905092915050565b60006153f382615486565b91506153fe83615486565b925082821015615411576154106155af565b5b828203905092915050565b600061542782615466565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156154bd5780820151818401526020810190506154a2565b838111156154cc576000848401525b50505050565b600060028204905060018216806154ea57607f821691505b602082108114156154fe576154fd61560d565b5b50919050565b61550d826156e7565b810181811067ffffffffffffffff8211171561552c5761552b61569a565b5b80604052505050565b600061554082615486565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415615573576155726155af565b5b600182019050919050565b600061558982615486565b915061559483615486565b9250826155a4576155a36155de565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f6d6178204e465420706572206164647265737320657863656564656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f6d6178204e4654206c696d697420657863656564656400000000000000000000600082015250565b7f6d6178206d696e7420616d6f756e74207065722073657373696f6e206578636560008201527f6564656400000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f74686520636f6e74726163742069732070617573656400000000000000000000600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f696e73756666696369656e742066756e64730000000000000000000000000000600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f596f752063616e206f6e6c79206d696e742031207065722077686974656c697360008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b7f50726963652069732077726f6e67000000000000000000000000000000000000600082015250565b7f5072696365206f662077686974656c697374656420757365722069732077726f60008201527f6e67000000000000000000000000000000000000000000000000000000000000602082015250565b7f6e65656420746f206d696e74206174206c656173742031204e46540000000000600082015250565b615ddd8161541c565b8114615de857600080fd5b50565b615df48161542e565b8114615dff57600080fd5b50565b615e0b8161543a565b8114615e1657600080fd5b50565b615e2281615486565b8114615e2d57600080fd5b5056fea2646970667358221220b2b09a29114c47cbb4d9946f95e164a7abfec5b79fffff212b3b2b140c2a0a3d64736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000011436f6e717565722044656d6f204d696e740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003434e51000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000