60806040523480156200001157600080fd5b506040516200641d3803806200641d8339818101604052810190620000379190620003b9565b83620000586200004c6200014a60201b60201c565b6200015260201b60201c565b6200006d6000801b826200021860201b60201c565b30600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060066007819055505082600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c8190555050505050620004a2565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200022a82826200022e60201b60201c565b5050565b6200024082826200032060201b60201c565b6200031c5760016004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002c16200014a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000815190506200039c816200046e565b92915050565b600081519050620003b38162000488565b92915050565b60008060008060808587031215620003d657620003d562000469565b5b6000620003e6878288016200038b565b9450506020620003f9878288016200038b565b93505060406200040c878288016200038b565b92505060606200041f87828801620003a2565b91505092959194509250565b600062000438826200043f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b62000479816200042b565b81146200048557600080fd5b50565b62000493816200045f565b81146200049f57600080fd5b50565b615f6b80620004b26000396000f3fe60806040526004361061021e5760003560e01c8063715018a611610123578063c87b56dd116100ab578063e2e784d51161006f578063e2e784d514610807578063e47e9bb214610830578063e52ad1bc1461084c578063e985e9c514610875578063f2fde38b146108b257610265565b8063c87b56dd14610736578063cc50f26514610773578063d547741f1461079c578063d5abeb01146107c5578063d7f01693146107f057610265565b806395d89b41116100f257806395d89b4114610663578063a217fddf1461068e578063a22cb465146106b9578063a77e0198146106e2578063b88d4fde1461070d57610265565b8063715018a6146105cd5780637ae46355146105e45780638da5cb5b146105fb57806391d148541461062657610265565b80632f2ff15d116101a657806355f804b31161017557806355f804b3146104d657806357127247146104ff5780635ec670f71461052a5780636352211e1461055357806370a082311461059057610265565b80632f2ff15d1461043257806336568abe1461045b57806342842e0e1461048457806342966c68146104ad57610265565b80630f7309e8116101ed5780630f7309e81461033857806318160ddd1461036357806323b872dd1461038e578063248a9ca3146103b75780632a55205a146103f457610265565b806301ffc9a71461026a57806306fdde03146102a7578063081812fc146102d2578063095ea7b31461030f57610265565b36610265577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77061024c6108db565b3460405161025b929190614a9f565b60405180910390a1005b600080fd5b34801561027657600080fd5b50610291600480360381019061028c91906140c0565b6108e3565b60405161029e9190614ac8565b60405180910390f35b3480156102b357600080fd5b506102bc61095d565b6040516102c99190614b73565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190614163565b61099a565b6040516103069190614a01565b60405180910390f35b34801561031b57600080fd5b5061033660048036038101906103319190613e39565b610a1f565b005b34801561034457600080fd5b5061034d610b37565b60405161035a9190614ae3565b60405180910390f35b34801561036f57600080fd5b50610378610b3d565b6040516103859190615015565b60405180910390f35b34801561039a57600080fd5b506103b560048036038101906103b09190613d23565b610b43565b005b3480156103c357600080fd5b506103de60048036038101906103d99190613f3a565b610ba3565b6040516103eb9190614ae3565b60405180910390f35b34801561040057600080fd5b5061041b60048036038101906104169190614190565b610bc3565b604051610429929190614a9f565b60405180910390f35b34801561043e57600080fd5b5061045960048036038101906104549190613f67565b610c56565b005b34801561046757600080fd5b50610482600480360381019061047d9190613f67565b610c7f565b005b34801561049057600080fd5b506104ab60048036038101906104a69190613d23565b610d02565b005b3480156104b957600080fd5b506104d460048036038101906104cf9190614163565b610d22565b005b3480156104e257600080fd5b506104fd60048036038101906104f8919061411a565b610de6565b005b34801561050b57600080fd5b50610514610e84565b6040516105219190614ac8565b60405180910390f35b34801561053657600080fd5b50610551600480360381019061054c9190613fa7565b610e97565b005b34801561055f57600080fd5b5061057a60048036038101906105759190614163565b6110f0565b6040516105879190614a01565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b29190613cb6565b6111a1565b6040516105c49190615015565b60405180910390f35b3480156105d957600080fd5b506105e2611259565b005b3480156105f057600080fd5b506105f96112e1565b005b34801561060757600080fd5b50610610611340565b60405161061d9190614a01565b60405180910390f35b34801561063257600080fd5b5061064d60048036038101906106489190613f67565b61136a565b60405161065a9190614ac8565b60405180910390f35b34801561066f57600080fd5b506106786113d5565b6040516106859190614b73565b60405180910390f35b34801561069a57600080fd5b506106a3611412565b6040516106b09190614ae3565b60405180910390f35b3480156106c557600080fd5b506106e060048036038101906106db9190613df9565b611419565b005b3480156106ee57600080fd5b506106f761142f565b6040516107049190614ac8565b60405180910390f35b34801561071957600080fd5b50610734600480360381019061072f9190613d76565b611442565b005b34801561074257600080fd5b5061075d60048036038101906107589190614163565b6114a4565b60405161076a9190614b73565b60405180910390f35b34801561077f57600080fd5b5061079a60048036038101906107959190613e79565b611567565b005b3480156107a857600080fd5b506107c360048036038101906107be9190613f67565b6116ab565b005b3480156107d157600080fd5b506107da6116d4565b6040516107e79190615015565b60405180910390f35b3480156107fc57600080fd5b506108056116da565b005b34801561081357600080fd5b5061082e60048036038101906108299190613e39565b611739565b005b61084a600480360381019061084591906141d0565b611845565b005b34801561085857600080fd5b50610873600480360381019061086e9190613ec2565b611cd6565b005b34801561088157600080fd5b5061089c60048036038101906108979190613ce3565b61201f565b6040516108a99190614ac8565b60405180910390f35b3480156108be57600080fd5b506108d960048036038101906108d49190613cb6565b6120b3565b005b600033905090565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109565750610955826121ab565b5b9050919050565b60606040518060400160405280601881526020017f50656f706c65496e546865506c616365546865794c6f76650000000000000000815250905090565b60006109a582612225565b6109e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109db90614dd5565b60405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a2a826110f0565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9290614f15565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610aba6108db565b73ffffffffffffffffffffffffffffffffffffffff161480610ae95750610ae881610ae36108db565b61201f565b5b610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f90614d15565b60405180910390fd5b610b328383612290565b505050565b600a5481565b600d5481565b610b54610b4e6108db565b82612349565b610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a90614f55565b60405180910390fd5b610b9e838383612427565b505050565b600060046000838152602001908152602001600020600101549050919050565b600080610bcf84612225565b610c0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0590614f75565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16606460075485610c419190615225565b610c4b91906151f4565b915091509250929050565b610c5f82610ba3565b610c7081610c6b6108db565b612680565b610c7a838361271d565b505050565b610c876108db565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ceb90614ff5565b60405180910390fd5b610cfe82826127fe565b5050565b610d1d83838360405180602001604052806000815250611442565b505050565b600b60009054906101000a900460ff168015610d4b5750600960009054906101000a900460ff16155b610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8190614cf5565b60405180910390fd5b610d9b610d956108db565b82612349565b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190614e35565b60405180910390fd5b610de3816128e0565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610e1881610e136108db565b612680565b6000600e8054610e27906153c2565b905014610e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6090614ef5565b60405180910390fd5b81600e9080519060200190610e7f9291906138c6565b505050565b600b60009054906101000a900460ff1681565b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929610ec981610ec46108db565b612680565b600960009054906101000a900460ff1615610f19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1090614f35565b60405180910390fd5b84518651148015610f2b575083518651145b8015610f38575082518651145b8015610f45575081518651145b610f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7b90614fb5565b60405180910390fd5b86600a8190555060005b86518110156110e657858181518110610faa57610fa961555b565b5b602002602001015160086000898481518110610fc957610fc861555b565b5b6020026020010151815260200190815260200160002060000181905550848181518110610ff957610ff861555b565b5b6020026020010151600860008984815181106110185761101761555b565b5b60200260200101518152602001908152602001600020600101819055508381815181106110485761104761555b565b5b6020026020010151600860008984815181106110675761106661555b565b5b60200260200101518152602001908152602001600020600201819055508281815181106110975761109661555b565b5b6020026020010151600860008984815181106110b6576110b561555b565b5b602002602001015181526020019081526020016000206003018190555080806110de90615425565b915050610f8e565b5050505050505050565b60008060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f90614d75565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990614d55565b60405180910390fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112616108db565b73ffffffffffffffffffffffffffffffffffffffff1661127f611340565b73ffffffffffffffffffffffffffffffffffffffff16146112d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cc90614e15565b60405180910390fd5b6112df60006129ef565b565b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9296113138161130e6108db565b612680565b600960009054906101000a900460ff1615600960006101000a81548160ff02191690831515021790555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606040518060400160405280600481526020017f5050544c00000000000000000000000000000000000000000000000000000000815250905090565b6000801b81565b61142b6114246108db565b8383612ab5565b5050565b600960009054906101000a900460ff1681565b61145361144d6108db565b83612349565b611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990614f55565b60405180910390fd5b61149e84848484612c22565b50505050565b60606114af82612225565b6114ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e590614e75565b60405180910390fd5b6000600e80546114fd906153c2565b9050111561153757600e61151083612c7e565b60405160200161152192919061496c565b6040516020818303038152906040529050611562565b61154082612c7e565b6040516020016115509190614990565b60405160208183030381529060405290505b919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611599816115946108db565b612680565b600960009054906101000a900460ff16156115e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e090614f35565b60405180910390fd5b60005b82518110156116455761163283828151811061160b5761160a61555b565b5b6020026020010151826001600d54611623919061519e565b61162d919061519e565b612ddf565b808061163d90615425565b9150506115ec565b508151600d6000828254611659919061519e565b92505081905550600c54600d5411156116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e90614e95565b60405180910390fd5b5050565b6116b482610ba3565b6116c5816116c06108db565b612680565b6116cf83836127fe565b505050565b600c5481565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661170c816117076108db565b612680565b600b60009054906101000a900460ff1615600b60006101000a81548160ff02191690831515021790555050565b6117416108db565b73ffffffffffffffffffffffffffffffffffffffff1661175f611340565b73ffffffffffffffffffffffffffffffffffffffff16146117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac90614e15565b60405180910390fd5b60648111156117f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f090614c15565b60405180910390fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806007819055505050565b600960009054906101000a900460ff16611894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188b90614d95565b60405180910390fd5b6000600860008581526020019081526020016000206000015490506000600160086000878152602001908152602001600020600101546118d49190615225565b826118df919061519e565b90508142101580156118f057508042105b61192f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192690614fd5565b60405180910390fd5b60003061193a6108db565b8760405160200161194d93929190614a1c565b604051602081830303815290604052805190602001209050611992600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168286612fab565b6119d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c890614f95565b60405180910390fd5b600085600d546119e1919061519e565b9050600c54811115611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f90614e95565b60405180910390fd5b600086600860008a81526020019081526020016000206004016000611a4b6108db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a90919061519e565b90506008600089815260200190815260200160002060020154811115611aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae290614ed5565b60405180910390fd5b80600860008a81526020019081526020016000206004016000611b0c6108db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555086600860008a815260200190815260200160002060030154611b6c9190615225565b3414611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490614eb5565b60405180910390fd5b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051611bf5906149b2565b60006040518083038185875af1925050503d8060008114611c32576040519150601f19603f3d011682016040523d82523d6000602084013e611c37565b606091505b5050905080611c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7290614bb5565b60405180910390fd5b60005b88811015611cc357611cb0611c916108db565b600183600d54611ca1919061519e565b611cab919061519e565b612ddf565b8080611cbb90615425565b915050611c7e565b5082600d81905550505050505050505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec611d0881611d036108db565b612680565b8151835114611d4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4390614cb5565b60405180910390fd5b600047905060008111611d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8b90614c55565b60405180910390fd5b6000805b8551811015611fd357600073ffffffffffffffffffffffffffffffffffffffff16868281518110611dcc57611dcb61555b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415611e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2290614df5565b60405180910390fd5b848181518110611e3e57611e3d61555b565b5b60200260200101516bffffffffffffffffffffffff1682611e5f919061519e565b915060006064868381518110611e7857611e7761555b565b5b60200260200101516bffffffffffffffffffffffff1685611e999190615225565b611ea391906151f4565b90506000878381518110611eba57611eb961555b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1682604051611ee5906149b2565b60006040518083038185875af1925050503d8060008114611f22576040519150601f19603f3d011682016040523d82523d6000602084013e611f27565b606091505b5050905080611f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6290614bb5565b60405180910390fd5b7f773d0e2b7d29fd7a9da3b776769ae51f123465c10d42e90684205842e407ad5c888481518110611f9f57611f9e61555b565b5b602002602001015183604051611fb6929190614a9f565b60405180910390a150508080611fcb90615425565b915050611d98565b506064811115612018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200f90614d35565b60405180910390fd5b5050505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6120bb6108db565b73ffffffffffffffffffffffffffffffffffffffff166120d9611340565b73ffffffffffffffffffffffffffffffffffffffff161461212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212690614e15565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561219f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219690614bf5565b60405180910390fd5b6121a8816129ef565b50565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061221e575061221d82613190565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612303836110f0565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061235482612225565b612393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238a90614cd5565b60405180910390fd5b600061239e836110f0565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061240d57508373ffffffffffffffffffffffffffffffffffffffff166123f58461099a565b73ffffffffffffffffffffffffffffffffffffffff16145b8061241e575061241d818561201f565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16612447826110f0565b73ffffffffffffffffffffffffffffffffffffffff161461249d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249490614e55565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561250d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250490614c75565b60405180910390fd5b612518838383613272565b612523600082612290565b60018060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612572919061527f565b9250508190555060018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125c8919061519e565b925050819055508160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61268a828261136a565b612719576126af8173ffffffffffffffffffffffffffffffffffffffff166014613277565b6126bd8360001c6020613277565b6040516020016126ce9291906149c7565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127109190614b73565b60405180910390fd5b5050565b612727828261136a565b6127fa5760016004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061279f6108db565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b612808828261136a565b156128dc5760006004600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506128816108db565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60006128eb826110f0565b90506128f981600084613272565b612904600083612290565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612953919061527f565b9250508190555060008083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1b90614c95565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612c159190614ac8565b60405180910390a3505050565b612c2d848484612427565b612c39848484846134b3565b612c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c6f90614bd5565b60405180910390fd5b50505050565b60606000821415612cc6576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612dda565b600082905060005b60008214612cf8578080612ce190615425565b915050600a82612cf191906151f4565b9150612cce565b60008167ffffffffffffffff811115612d1457612d1361558a565b5b6040519080825280601f01601f191660200182016040528015612d465781602001600182028036833780820191505090505b5090505b60008514612dd357600182612d5f919061527f565b9150600a85612d6e919061546e565b6030612d7a919061519e565b60f81b818381518110612d9057612d8f61555b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612dcc91906151f4565b9450612d4a565b8093505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e4690614db5565b60405180910390fd5b612e5881612225565b15612e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8f90614c35565b60405180910390fd5b612ea460008383613272565b60018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ef3919061519e565b925050819055508160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000806000612fba858561364a565b9150915060006004811115612fd257612fd16154fd565b5b816004811115612fe557612fe46154fd565b5b14801561301d57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561302d57600192505050613189565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8888604051602401613062929190614afe565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516130cc9190614955565b600060405180830381855afa9150503d8060008114613107576040519150601f19603f3d011682016040523d82523d6000602084013e61310c565b606091505b509150915081801561311f575060208151145b80156131825750631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168180602001905181019061316191906140ed565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9450505050505b9392505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061325b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061326b575061326a826136cd565b5b9050919050565b505050565b60606000600283600261328a9190615225565b613294919061519e565b67ffffffffffffffff8111156132ad576132ac61558a565b5b6040519080825280601f01601f1916602001820160405280156132df5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106133175761331661555b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061337b5761337a61555b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026133bb9190615225565b6133c5919061519e565b90505b6001811115613465577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106134075761340661555b565b5b1a60f81b82828151811061341e5761341d61555b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061345e90615398565b90506133c8565b50600084146134a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134a090614b95565b60405180910390fd5b8091505092915050565b60006134d48473ffffffffffffffffffffffffffffffffffffffff16613737565b1561363d578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026134fd6108db565b8786866040518563ffffffff1660e01b815260040161351f9493929190614a53565b602060405180830381600087803b15801561353957600080fd5b505af192505050801561356a57506040513d601f19601f8201168201806040525081019061356791906140ed565b60015b6135ed573d806000811461359a576040519150601f19603f3d011682016040523d82523d6000602084013e61359f565b606091505b506000815114156135e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135dc90614bd5565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613642565b600190505b949350505050565b60008060418351141561368c5760008060006020860151925060408601519150606086015160001a90506136808782858561375a565b945094505050506136c6565b6040835114156136bd5760008060208501519150604085015190506136b2868383613867565b9350935050506136c6565b60006002915091505b9250929050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561379557600060039150915061385e565b601b8560ff16141580156137ad5750601c8560ff1614155b156137bf57600060049150915061385e565b6000600187878787604051600081526020016040526040516137e49493929190614b2e565b6020604051602081039080840390855afa158015613806573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156138555760006001925092505061385e565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c6138aa919061519e565b90506138b88782888561375a565b935093505050935093915050565b8280546138d2906153c2565b90600052602060002090601f0160209004810192826138f4576000855561393b565b82601f1061390d57805160ff191683800117855561393b565b8280016001018555821561393b579182015b8281111561393a57825182559160200191906001019061391f565b5b509050613948919061394c565b5090565b5b8082111561396557600081600090555060010161394d565b5090565b600061397c61397784615055565b615030565b9050808382526020820190508285602086028201111561399f5761399e6155be565b5b60005b858110156139cf57816139b58882613b3d565b8452602084019350602083019250506001810190506139a2565b5050509392505050565b60006139ec6139e784615081565b615030565b90508083825260208201905082856020860282011115613a0f57613a0e6155be565b5b60005b85811015613a3f5781613a258882613c8c565b845260208401935060208301925050600181019050613a12565b5050509392505050565b6000613a5c613a57846150ad565b615030565b90508083825260208201905082856020860282011115613a7f57613a7e6155be565b5b60005b85811015613aaf5781613a958882613ca1565b845260208401935060208301925050600181019050613a82565b5050509392505050565b6000613acc613ac7846150d9565b615030565b905082815260208101848484011115613ae857613ae76155c3565b5b613af3848285615356565b509392505050565b6000613b0e613b098461510a565b615030565b905082815260208101848484011115613b2a57613b296155c3565b5b613b35848285615356565b509392505050565b600081359050613b4c81615eab565b92915050565b600082601f830112613b6757613b666155b9565b5b8135613b77848260208601613969565b91505092915050565b600082601f830112613b9557613b946155b9565b5b8135613ba58482602086016139d9565b91505092915050565b600082601f830112613bc357613bc26155b9565b5b8135613bd3848260208601613a49565b91505092915050565b600081359050613beb81615ec2565b92915050565b600081359050613c0081615ed9565b92915050565b600081359050613c1581615ef0565b92915050565b600081519050613c2a81615ef0565b92915050565b600082601f830112613c4557613c446155b9565b5b8135613c55848260208601613ab9565b91505092915050565b600082601f830112613c7357613c726155b9565b5b8135613c83848260208601613afb565b91505092915050565b600081359050613c9b81615f07565b92915050565b600081359050613cb081615f1e565b92915050565b600060208284031215613ccc57613ccb6155cd565b5b6000613cda84828501613b3d565b91505092915050565b60008060408385031215613cfa57613cf96155cd565b5b6000613d0885828601613b3d565b9250506020613d1985828601613b3d565b9150509250929050565b600080600060608486031215613d3c57613d3b6155cd565b5b6000613d4a86828701613b3d565b9350506020613d5b86828701613b3d565b9250506040613d6c86828701613c8c565b9150509250925092565b60008060008060808587031215613d9057613d8f6155cd565b5b6000613d9e87828801613b3d565b9450506020613daf87828801613b3d565b9350506040613dc087828801613c8c565b925050606085013567ffffffffffffffff811115613de157613de06155c8565b5b613ded87828801613c30565b91505092959194509250565b60008060408385031215613e1057613e0f6155cd565b5b6000613e1e85828601613b3d565b9250506020613e2f85828601613bdc565b9150509250929050565b60008060408385031215613e5057613e4f6155cd565b5b6000613e5e85828601613b3d565b9250506020613e6f85828601613c8c565b9150509250929050565b600060208284031215613e8f57613e8e6155cd565b5b600082013567ffffffffffffffff811115613ead57613eac6155c8565b5b613eb984828501613b52565b91505092915050565b60008060408385031215613ed957613ed86155cd565b5b600083013567ffffffffffffffff811115613ef757613ef66155c8565b5b613f0385828601613b52565b925050602083013567ffffffffffffffff811115613f2457613f236155c8565b5b613f3085828601613bae565b9150509250929050565b600060208284031215613f5057613f4f6155cd565b5b6000613f5e84828501613bf1565b91505092915050565b60008060408385031215613f7e57613f7d6155cd565b5b6000613f8c85828601613bf1565b9250506020613f9d85828601613b3d565b9150509250929050565b60008060008060008060c08789031215613fc457613fc36155cd565b5b6000613fd289828a01613bf1565b965050602087013567ffffffffffffffff811115613ff357613ff26155c8565b5b613fff89828a01613b80565b955050604087013567ffffffffffffffff8111156140205761401f6155c8565b5b61402c89828a01613b80565b945050606087013567ffffffffffffffff81111561404d5761404c6155c8565b5b61405989828a01613b80565b935050608087013567ffffffffffffffff81111561407a576140796155c8565b5b61408689828a01613b80565b92505060a087013567ffffffffffffffff8111156140a7576140a66155c8565b5b6140b389828a01613b80565b9150509295509295509295565b6000602082840312156140d6576140d56155cd565b5b60006140e484828501613c06565b91505092915050565b600060208284031215614103576141026155cd565b5b600061411184828501613c1b565b91505092915050565b6000602082840312156141305761412f6155cd565b5b600082013567ffffffffffffffff81111561414e5761414d6155c8565b5b61415a84828501613c5e565b91505092915050565b600060208284031215614179576141786155cd565b5b600061418784828501613c8c565b91505092915050565b600080604083850312156141a7576141a66155cd565b5b60006141b585828601613c8c565b92505060206141c685828601613c8c565b9150509250929050565b6000806000606084860312156141e9576141e86155cd565b5b60006141f786828701613c8c565b935050602061420886828701613c8c565b925050604084013567ffffffffffffffff811115614229576142286155c8565b5b61423586828701613c30565b9150509250925092565b614248816152b3565b82525050565b614257816152c5565b82525050565b614266816152d1565b82525050565b600061427782615150565b6142818185615166565b9350614291818560208601615365565b61429a816155d2565b840191505092915050565b60006142b082615150565b6142ba8185615177565b93506142ca818560208601615365565b80840191505092915050565b60006142e18261515b565b6142eb8185615182565b93506142fb818560208601615365565b614304816155d2565b840191505092915050565b600061431a8261515b565b6143248185615193565b9350614334818560208601615365565b80840191505092915050565b6000815461434d816153c2565b6143578186615193565b945060018216600081146143725760018114614383576143b6565b60ff198316865281860193506143b6565b61438c8561513b565b60005b838110156143ae5781548189015260018201915060208101905061438f565b838801955050505b50505092915050565b60006143cc602083615182565b91506143d7826155e3565b602082019050919050565b60006143ef601a83615182565b91506143fa8261560c565b602082019050919050565b6000614412603283615182565b915061441d82615635565b604082019050919050565b6000614435602683615182565b915061444082615684565b604082019050919050565b6000614458601e83615182565b9150614463826156d3565b602082019050919050565b600061447b601c83615182565b9150614486826156fc565b602082019050919050565b600061449e602883615182565b91506144a982615725565b604082019050919050565b60006144c1602483615182565b91506144cc82615774565b604082019050919050565b60006144e4601983615182565b91506144ef826157c3565b602082019050919050565b6000614507601b83615182565b9150614512826157ec565b602082019050919050565b600061452a602c83615182565b915061453582615815565b604082019050919050565b600061454d601883615182565b915061455882615864565b602082019050919050565b6000614570603883615182565b915061457b8261588d565b604082019050919050565b6000614593601483615182565b915061459e826158dc565b602082019050919050565b60006145b6602a83615182565b91506145c182615905565b604082019050919050565b60006145d9602983615182565b91506145e482615954565b604082019050919050565b60006145fc601983615182565b9150614607826159a3565b602082019050919050565b600061461f602083615182565b915061462a826159cc565b602082019050919050565b6000614642602c83615182565b915061464d826159f5565b604082019050919050565b6000614665601e83615182565b915061467082615a44565b602082019050919050565b6000614688602083615182565b915061469382615a6d565b602082019050919050565b60006146ab602483615182565b91506146b682615a96565b604082019050919050565b60006146ce602983615182565b91506146d982615ae5565b604082019050919050565b60006146f1602f83615182565b91506146fc82615b34565b604082019050919050565b6000614714601783615182565b915061471f82615b83565b602082019050919050565b6000614737601783615182565b915061474282615bac565b602082019050919050565b600061475a601b83615182565b915061476582615bd5565b602082019050919050565b600061477d601983615182565b915061478882615bfe565b602082019050919050565b60006147a0602183615182565b91506147ab82615c27565b604082019050919050565b60006147c3602583615193565b91506147ce82615c76565b602582019050919050565b60006147e6601a83615182565b91506147f182615cc5565b602082019050919050565b6000614809600083615177565b915061481482615cee565b600082019050919050565b600061482c603183615182565b915061483782615cf1565b604082019050919050565b600061484f602f83615182565b915061485a82615d40565b604082019050919050565b6000614872601783615182565b915061487d82615d8f565b602082019050919050565b6000614895601783615193565b91506148a082615db8565b601782019050919050565b60006148b8601b83615182565b91506148c382615de1565b602082019050919050565b60006148db601183615193565b91506148e682615e0a565b601182019050919050565b60006148fe601283615182565b915061490982615e33565b602082019050919050565b6000614921602f83615182565b915061492c82615e5c565b604082019050919050565b61494081615327565b82525050565b61494f81615331565b82525050565b600061496182846142a5565b915081905092915050565b60006149788285614340565b9150614984828461430f565b91508190509392505050565b600061499b826147b6565b91506149a7828461430f565b915081905092915050565b60006149bd826147fc565b9150819050919050565b60006149d282614888565b91506149de828561430f565b91506149e9826148ce565b91506149f5828461430f565b91508190509392505050565b6000602082019050614a16600083018461423f565b92915050565b6000606082019050614a31600083018661423f565b614a3e602083018561423f565b614a4b6040830184614937565b949350505050565b6000608082019050614a68600083018761423f565b614a75602083018661423f565b614a826040830185614937565b8181036060830152614a94818461426c565b905095945050505050565b6000604082019050614ab4600083018561423f565b614ac16020830184614937565b9392505050565b6000602082019050614add600083018461424e565b92915050565b6000602082019050614af8600083018461425d565b92915050565b6000604082019050614b13600083018561425d565b8181036020830152614b25818461426c565b90509392505050565b6000608082019050614b43600083018761425d565b614b506020830186614946565b614b5d604083018561425d565b614b6a606083018461425d565b95945050505050565b60006020820190508181036000830152614b8d81846142d6565b905092915050565b60006020820190508181036000830152614bae816143bf565b9050919050565b60006020820190508181036000830152614bce816143e2565b9050919050565b60006020820190508181036000830152614bee81614405565b9050919050565b60006020820190508181036000830152614c0e81614428565b9050919050565b60006020820190508181036000830152614c2e8161444b565b9050919050565b60006020820190508181036000830152614c4e8161446e565b9050919050565b60006020820190508181036000830152614c6e81614491565b9050919050565b60006020820190508181036000830152614c8e816144b4565b9050919050565b60006020820190508181036000830152614cae816144d7565b9050919050565b60006020820190508181036000830152614cce816144fa565b9050919050565b60006020820190508181036000830152614cee8161451d565b9050919050565b60006020820190508181036000830152614d0e81614540565b9050919050565b60006020820190508181036000830152614d2e81614563565b9050919050565b60006020820190508181036000830152614d4e81614586565b9050919050565b60006020820190508181036000830152614d6e816145a9565b9050919050565b60006020820190508181036000830152614d8e816145cc565b9050919050565b60006020820190508181036000830152614dae816145ef565b9050919050565b60006020820190508181036000830152614dce81614612565b9050919050565b60006020820190508181036000830152614dee81614635565b9050919050565b60006020820190508181036000830152614e0e81614658565b9050919050565b60006020820190508181036000830152614e2e8161467b565b9050919050565b60006020820190508181036000830152614e4e8161469e565b9050919050565b60006020820190508181036000830152614e6e816146c1565b9050919050565b60006020820190508181036000830152614e8e816146e4565b9050919050565b60006020820190508181036000830152614eae81614707565b9050919050565b60006020820190508181036000830152614ece8161472a565b9050919050565b60006020820190508181036000830152614eee8161474d565b9050919050565b60006020820190508181036000830152614f0e81614770565b9050919050565b60006020820190508181036000830152614f2e81614793565b9050919050565b60006020820190508181036000830152614f4e816147d9565b9050919050565b60006020820190508181036000830152614f6e8161481f565b9050919050565b60006020820190508181036000830152614f8e81614842565b9050919050565b60006020820190508181036000830152614fae81614865565b9050919050565b60006020820190508181036000830152614fce816148ab565b9050919050565b60006020820190508181036000830152614fee816148f1565b9050919050565b6000602082019050818103600083015261500e81614914565b9050919050565b600060208201905061502a6000830184614937565b92915050565b600061503a61504b565b905061504682826153f4565b919050565b6000604051905090565b600067ffffffffffffffff8211156150705761506f61558a565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561509c5761509b61558a565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156150c8576150c761558a565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156150f4576150f361558a565b5b6150fd826155d2565b9050602081019050919050565b600067ffffffffffffffff8211156151255761512461558a565b5b61512e826155d2565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006151a982615327565b91506151b483615327565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156151e9576151e861549f565b5b828201905092915050565b60006151ff82615327565b915061520a83615327565b92508261521a576152196154ce565b5b828204905092915050565b600061523082615327565b915061523b83615327565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156152745761527361549f565b5b828202905092915050565b600061528a82615327565b915061529583615327565b9250828210156152a8576152a761549f565b5b828203905092915050565b60006152be82615307565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006bffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015615383578082015181840152602081019050615368565b83811115615392576000848401525b50505050565b60006153a382615327565b915060008214156153b7576153b661549f565b5b600182039050919050565b600060028204905060018216806153da57607f821691505b602082108114156153ee576153ed61552c565b5b50919050565b6153fd826155d2565b810181811067ffffffffffffffff8211171561541c5761541b61558a565b5b80604052505050565b600061543082615327565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156154635761546261549f565b5b600182019050919050565b600061547982615327565b915061548483615327565b925082615494576154936154ce565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5050544c3a204661696c656420746f2073656e64204574686572000000000000600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5050544c3a20526f79616c747950657263656e74616765206578636565640000600082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f5050544c3a20496e76616c696420636f6e74726163742062616c616e6365207460008201527f6f207061796f7574000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f5050544c3a204172726179206c656e677468206d69736d617463680000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f5050544c3a204275726e696e67206e6f74206163746976650000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f5050544c3a20496e76616c6964207061796f7574000000000000000000000000600082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f5050544c3a204c75636b79206472617720696e61637469766500000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f5050544c3a20496e76616c6964207061796f757420726563697069656e740000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a2043616c6c6572206e6f74206f776e6572206f72206170707260008201527f6f76656400000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f5050544c3a20457863656564206d617820737570706c79000000000000000000600082015250565b7f5050544c3a20496e636f7272656374207061796d656e74000000000000000000600082015250565b7f5050544c3a20457863656564206d6178207469636b6574206e756d0000000000600082015250565b7f5050544c3a204261736555524920616c72656164792073657400000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f68747470733a2f2f726166666c652e7468656677656e636c75622e636f6d2f7460008201527f6f6b656e2f000000000000000000000000000000000000000000000000000000602082015250565b7f5050544c3a204c75636b7920647261772068617320626567756e000000000000600082015250565b50565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f5050544c3a20517565727920726f79616c747920696e666f20666f72206e6f6e60008201527f2d6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f5050544c3a20496e76616c6964207369676e6174757265000000000000000000600082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f5050544c3a206172726179206c656e677468206d69736d617463680000000000600082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f5050544c3a20496e76616c69642074696d650000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b615eb4816152b3565b8114615ebf57600080fd5b50565b615ecb816152c5565b8114615ed657600080fd5b50565b615ee2816152d1565b8114615eed57600080fd5b50565b615ef9816152db565b8114615f0457600080fd5b50565b615f1081615327565b8114615f1b57600080fd5b50565b615f278161533e565b8114615f3257600080fd5b5056fea2646970667358221220535e90bf952804a6c096e8453bd3fd7c9739a2f639478fd61f33854fe17b7d5764736f6c63430008070033000000000000000000000000df92e031b00fbff462eceac436e2d906047ff70d0000000000000000000000005112d14803dbaf87c0261bb3ef39d374e3f739fc0000000000000000000000009316810cd683f84c44b09eb60414fdb0e26486eb00000000000000000000000000000000000000000000000000000000000003e8