- We're indexing this chain right now. Some of the counts may be inaccurate.

Contract Address Details

0x9E12B1E2F223845c4C9975bbc22eb65f5F776ec7

Creator
0x046bf7–da7b9c at 0x8756ad–55b72e
Balance
0 LIT
Tokens
Fetching tokens...
Transactions
8,988 Transactions
Transfers
0 Transfers
Gas Used
692,107,008
Last Balance Update
2793596

Contract Creation Code

Verify & Publish
0x608060405260008060146101000a81548160ff021916908360048111156200002c576200002b62000559565b5b02179055503480156200003e57600080fd5b5060405162006a2138038062006a218339818101604052810190620000649190620007d9565b6200008462000078620002d060201b60201c565b620002d860201b60201c565b82601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260146101000a81548160ff02191690836002811115620000ed57620000ec62000559565b5b02179055506000620001046200039c60201b60201c565b90506040518060a0016040528060148373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200015f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000185919062000892565b600a62000193919062000a47565b6200019f919062000ac7565b8152602001600f8152602001603c8152602001848152602001600281525060066000820151816000015560208201518160010155604082015181600201556060820151816003019080519060200190620001fb929190620004e8565b50608082015181600401559050506000600190506040518060a0016040528082815260200160018152602001824262000235919062000aff565b815260200160008152602001603c8152506001600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060016017600060018152602001908152602001600020819055506004600060146101000a81548160ff02191690836004811115620002c057620002bf62000559565b5b0217905550505050505062000c68565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638e8dfd16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df3806936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200044a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000470919062000b75565b601260149054906101000a900460ff166040518363ffffffff1660e01b81526004016200049f92919062000c09565b602060405180830381865afa158015620004bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e3919062000c36565b905090565b82805482825590600052602060002090810192821562000527579160200282015b828111156200052657825182559160200191906001019062000509565b5b5090506200053691906200053a565b5090565b5b80821115620005555760008160009055506001016200053b565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005c9826200059c565b9050919050565b620005db81620005bc565b8114620005e757600080fd5b50565b600081519050620005fb81620005d0565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006518262000606565b810181811067ffffffffffffffff8211171562000673576200067262000617565b5b80604052505050565b60006200068862000588565b905062000696828262000646565b919050565b600067ffffffffffffffff821115620006b957620006b862000617565b5b602082029050602081019050919050565b600080fd5b6000819050919050565b620006e481620006cf565b8114620006f057600080fd5b50565b6000815190506200070481620006d9565b92915050565b6000620007216200071b846200069b565b6200067c565b90508083825260208201905060208402830185811115620007475762000746620006ca565b5b835b818110156200077457806200075f8882620006f3565b84526020840193505060208101905062000749565b5050509392505050565b600082601f83011262000796576200079562000601565b5b8151620007a88482602086016200070a565b91505092915050565b60038110620007bf57600080fd5b50565b600081519050620007d381620007b1565b92915050565b600080600060608486031215620007f557620007f462000592565b5b60006200080586828701620005ea565b935050602084015167ffffffffffffffff81111562000829576200082862000597565b5b62000837868287016200077e565b92505060406200084a86828701620007c2565b9150509250925092565b600060ff82169050919050565b6200086c8162000854565b81146200087857600080fd5b50565b6000815190506200088c8162000861565b92915050565b600060208284031215620008ab57620008aa62000592565b5b6000620008bb848285016200087b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000952578086048111156200092a5762000929620008c4565b5b60018516156200093a5780820291505b80810290506200094a85620008f3565b94506200090a565b94509492505050565b6000826200096d576001905062000a40565b816200097d576000905062000a40565b8160018114620009965760028114620009a157620009d7565b600191505062000a40565b60ff841115620009b657620009b5620008c4565b5b8360020a915084821115620009d057620009cf620008c4565b5b5062000a40565b5060208310610133831016604e8410600b841016171562000a115782820a90508381111562000a0b5762000a0a620008c4565b5b62000a40565b62000a20848484600162000900565b9250905081840481111562000a3a5762000a39620008c4565b5b81810290505b9392505050565b600062000a5482620006cf565b915062000a618362000854565b925062000a907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200095b565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ad482620006cf565b915062000ae183620006cf565b92508262000af45762000af362000a98565b5b828204905092915050565b600062000b0c82620006cf565b915062000b1983620006cf565b925082820190508082111562000b345762000b33620008c4565b5b92915050565b6000819050919050565b62000b4f8162000b3a565b811462000b5b57600080fd5b50565b60008151905062000b6f8162000b44565b92915050565b60006020828403121562000b8e5762000b8d62000592565b5b600062000b9e8482850162000b5e565b91505092915050565b62000bb28162000b3a565b82525050565b6003811062000bcc5762000bcb62000559565b5b50565b600081905062000bdf8262000bb8565b919050565b600062000bf18262000bcf565b9050919050565b62000c038162000be4565b82525050565b600060408201905062000c20600083018562000ba7565b62000c2f602083018462000bf8565b9392505050565b60006020828403121562000c4f5762000c4e62000592565b5b600062000c5f84828501620005ea565b91505092915050565b615da98062000c786000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806379502c55116101de578063b139603c1161010f578063e8684ed1116100ad578063f2fde38b1161007c578063f2fde38b146109e5578063f95d71b114610a01578063f99b562314610a1d578063fa52c7d814610a395761038e565b8063e8684ed114610981578063e9fad8ee1461099f578063f1887fec146109a9578063f1b877a8146109c75761038e565b8063c19d93fb116100e9578063c19d93fb14610909578063c35d4d0914610927578063d4818fca14610945578063e7c08720146109635761038e565b8063b139603c146108d9578063ba3bd22e146108e3578063c006e00b146108ff5761038e565b80638b80d8331161017c5780639dca0032116101565780639dca003214610865578063a25e49a414610883578063a694fc3a146108b3578063ac2f8afe146108cf5761038e565b80638b80d833146108095780638da5cb5b14610825578063900cf0cf146108435761038e565b8063847e0625116101b8578063847e062514610781578063857b7663146107b1578063865419e9146107cf57806389965883146107eb5761038e565b806379502c55146107265780637aa086e714610747578063817b1cd2146107635761038e565b80634927a143116102c3578063533d463e1161026157806361dee8a31161023057806361dee8a3146106b157806370fe276a146106cf578063715018a6146107005780637392c76b1461070a5761038e565b8063533d463e1461062957806354eea796146106595780635995a4c4146106755780635b677eac146106935761038e565b80635081f66f1161029d5780635081f66f1461058f57806350d17b5e146105bf578063519877eb146105dd5780635305c8cf1461060d5761038e565b80634927a143146105275780634a6e51f5146105575780634f8f0102146105735761038e565b80633528db88116103305780633e6852661161030a5780633e6852661461048d5780633f819713146104bd57806340550a1c146104d957806343cb0a0e146105095761038e565b80633528db881461045d5780633cf80e6c146104795780633d18b912146104835761038e565b806316930f4d1161036c57806316930f4d146103eb5780631fab87c4146103f5578063252959a5146104115780632e1a7d4d146104415761038e565b80630297d4db1461039357806309c7c7d0146103b157806310fe9ae8146103cd575b600080fd5b61039b610a6f565b6040516103a891906145b1565b60405180910390f35b6103cb60048036038101906103c6919061460c565b610a80565b005b6103d5610add565b6040516103e2919061468d565b60405180910390f35b6103f3610c21565b005b61040f600480360381019061040a91906146a8565b610e0d565b005b61042b6004803603810190610426919061470b565b610e59565b6040516104389190614753565b60405180910390f35b61045b600480360381019061045691906146a8565b610e79565b005b6104776004803603810190610472919061481e565b610ef5565b005b6104816115ec565b005b61048b611aad565b005b6104a760048036038101906104a291906146a8565b611b27565b6040516104b491906145b1565b60405180910390f35b6104d760048036038101906104d291906148d0565b611b3f565b005b6104f360048036038101906104ee91906148fd565b611bab565b6040516105009190614753565b60405180910390f35b610511611bc8565b60405161051e91906145b1565b60405180910390f35b610541600480360381019061053c919061492a565b611c0c565b60405161054e91906145b1565b60405180910390f35b610571600480360381019061056c91906146a8565b611c37565b005b61058d6004803603810190610588919061481e565b611c83565b005b6105a960048036038101906105a491906148fd565b611ed5565b6040516105b6919061468d565b60405180910390f35b6105c7611f08565b6040516105d491906149c9565b60405180910390f35b6105f760048036038101906105f291906148fd565b611f2e565b6040516106049190614753565b60405180910390f35b61062760048036038101906106229190614b3d565b611f4e565b005b610643600480360381019061063e9190614c97565b611fde565b6040516106509190614e59565b60405180910390f35b610673600480360381019061066e91906146a8565b6121ee565b005b61067d61223a565b60405161068a9190614f2a565b60405180910390f35b61069b612328565b6040516106a8919061468d565b60405180910390f35b6106b961246c565b6040516106c69190614e59565b60405180910390f35b6106e960048036038101906106e49190614f4c565b612489565b6040516106f7929190614f9f565b60405180910390f35b610708612541565b005b610724600480360381019061071f91906148fd565b612555565b005b61072e6125c1565b60405161073e9493929190614fc8565b60405180910390f35b610761600480360381019061075c91906148fd565b6125df565b005b61076b61266c565b60405161077891906145b1565b60405180910390f35b61079b600480360381019061079691906148fd565b612672565b6040516107a89190614753565b60405180910390f35b6107b96126f2565b6040516107c69190614f2a565b60405180910390f35b6107e960048036038101906107e49190615068565b6127e0565b005b6107f3612d37565b60405161080091906145b1565b60405180910390f35b610823600480360381019061081e91906150dc565b612de7565b005b61082d612e6d565b60405161083a919061468d565b60405180910390f35b61084b612e96565b60405161085c95949392919061511c565b60405180910390f35b61086d612eba565b60405161087a91906151e6565b60405180910390f35b61089d600480360381019061089891906148fd565b612ecd565b6040516108aa9190614753565b60405180910390f35b6108cd60048036038101906108c891906146a8565b612fef565b005b6108d761306c565b005b6108e161322b565b005b6108fd60048036038101906108f89190615201565b613298565b005b6109076132b8565b005b6109116134ce565b60405161091e91906152eb565b60405180910390f35b61092f6134e1565b60405161093c9190614f2a565b60405180910390f35b61094d6135cf565b60405161095a91906145b1565b60405180910390f35b61096b6135e0565b6040516109789190614e59565b60405180910390f35b6109896135fd565b60405161099691906145b1565b60405180910390f35b6109a76136ad565b005b6109b161380c565b6040516109be9190614753565b60405180910390f35b6109cf613854565b6040516109dc91906153b5565b60405180910390f35b6109ff60048036038101906109fa91906148fd565b6138af565b005b610a1b6004803603810190610a1691906148fd565b613932565b005b610a376004803603810190610a3291906146a8565b6139b5565b005b610a536004803603810190610a4e91906148fd565b613cc4565b604051610a6697969594939291906153f5565b60405180910390f35b6000610a7b600e613d62565b905090565b610a88613d77565b8060176000848152602001908152602001600020819055507fd96aa9b717408dfdef39925f998646946efba8139acb451b120585a33de7f1e68282604051610ad1929190615464565b60405180910390a15050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638e8dfd16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df3806936040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bae91906154a2565b601260149054906101000a900460ff166040518363ffffffff1660e01b8152600401610bdb9291906154de565b602060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c919061551c565b905090565b600160020154421015610c7257426001600201546040517ff44bc0a7000000000000000000000000000000000000000000000000000000008152600401610c69929190615464565b60405180910390fd5b60006004811115610c8657610c8561516f565b5b600060149054906101000a900460ff166004811115610ca857610ca761516f565b5b1480610ce7575060036004811115610cc357610cc261516f565b5b600060149054906101000a900460ff166004811115610ce557610ce461516f565b5b145b610d3757600060149054906101000a900460ff166040517f9ef5b6f5000000000000000000000000000000000000000000000000000000008152600401610d2e91906152eb565b60405180910390fd5b600660040154610d47600e613d62565b1015610d9a57610d57600e613d62565b6006600401546040517f8a0defa4000000000000000000000000000000000000000000000000000000008152600401610d91929190615464565b60405180910390fd5b6001600060146101000a81548160ff02191690836004811115610dc057610dbf61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff16604051610e0391906152eb565b60405180910390a1565b610e15613d77565b806001600401819055507f887fed3a9270ffbbf863d640a07413b6f58cf97afaa9d7267693e962a76bd81081604051610e4e91906145b1565b60405180910390a150565b60186020528060005260406000206000915054906101000a900460ff1681565b6000610e83612328565b90508073ffffffffffffffffffffffffffffffffffffffff1662f714ce83336040518363ffffffff1660e01b8152600401610ebf929190615549565b600060405180830381600087803b158015610ed957600080fd5b505af1158015610eed573d6000803e3d6000fd5b505050505050565b6000610eff612328565b90508073ffffffffffffffffffffffffffffffffffffffff166349919966336040518263ffffffff1660e01b8152600401610f3a919061468d565b602060405180830381865afa158015610f57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7b919061559e565b5060006004811115610f9057610f8f61516f565b5b600060149054906101000a900460ff166004811115610fb257610fb161516f565b5b1480610ff1575060036004811115610fcd57610fcc61516f565b5b600060149054906101000a900460ff166004811115610fef57610fee61516f565b5b145b8061102e575060048081111561100a5761100961516f565b5b600060149054906101000a900460ff16600481111561102c5761102b61516f565b5b145b61107e57600060149054906101000a900460ff166040517fc1f8741d00000000000000000000000000000000000000000000000000000000815260040161107591906152eb565b60405180910390fd5b611092336010613df590919063ffffffff16565b156110d457336040517f7c6d6c6b0000000000000000000000000000000000000000000000000000000081526004016110cb919061468d565b60405180910390fd5b600083836040516020016110e99291906155ec565b6040516020818303038152906040528051906020012090506018600082815260200190815260200160002060009054906101000a900460ff16156111665783836040517f1179010e00000000000000000000000000000000000000000000000000000000815260040161115d929190615464565b60405180910390fd5b60016018600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166327a199d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611201919061559e565b156112c2578173ffffffffffffffffffffffffffffffffffffffff1663d3dbad7d336040518263ffffffff1660e01b815260040161123f919061468d565b602060405180830381865afa15801561125c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611280919061559e565b6112c157336040517f924a59100000000000000000000000000000000000000000000000000000000081526004016112b8919061468d565b60405180910390fd5b5b87601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548163ffffffff021916908363ffffffff16021790555086601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160046101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555085601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548163ffffffff021916908363ffffffff16021790555084601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555082601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018190555033601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061159e33600e613e2590919063ffffffff16565b503373ffffffffffffffffffffffffffffffffffffffff167f1dc186bd4daaf3fc4b9f8c689228a0be60dd2952dc502829514ae0d6955c0f5160405160405180910390a25050505050505050565b60016002015442101561163d57426001600201546040517ff44bc0a7000000000000000000000000000000000000000000000000000000008152600401611634929190615464565b60405180910390fd5b600260048111156116515761165061516f565b5b600060149054906101000a900460ff1660048111156116735761167261516f565b5b146116c457600060149054906101000a900460ff166040517f17ce3ae10000000000000000000000000000000000000000000000000000000081526004016116bb91906152eb565b60405180910390fd5b6116cc61380c565b611726576116d86135fd565b6116e0612d37565b6116e8611bc8565b6040517f26d6b3de00000000000000000000000000000000000000000000000000000000815260040161171d93929190615618565b60405180910390fd5b6000611732600c613d62565b905060005b8181101561190657600061175582600c613e5590919063ffffffff16565b90506000611761610add565b9050600061176d612328565b905060008273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e09190615688565b600a6117ec9190615817565b8273ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401611825919061468d565b602060405180830381865afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118669190615877565b60066000015461187691906158a4565b6118809190615915565b90508173ffffffffffffffffffffffffffffffffffffffff166302fa04c982866040518363ffffffff1660e01b81526004016118bd929190615549565b600060405180830381600087803b1580156118d757600080fd5b505af11580156118eb573d6000803e3d6000fd5b505050505050505080806118fe90615946565b915050611737565b505b6000611914600c613d62565b1115611948576119426119326000600c613e5590919063ffffffff16565b600c613e6f90919063ffffffff16565b50611908565b611952600e613d62565b905060005b81811015611a055761198661197682600e613e5590919063ffffffff16565b600c613e2590919063ffffffff16565b506000601560006119a184600e613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806119fd90615946565b915050611957565b50600180016000815480929190611a1b90615946565b919050555060016000015442611a31919061598e565b60016002018190555060008060146101000a81548160ff02191690836004811115611a5f57611a5e61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff16604051611aa291906152eb565b60405180910390a150565b6000611ab7612328565b90508073ffffffffffffffffffffffffffffffffffffffff1663c00007b0336040518263ffffffff1660e01b8152600401611af2919061468d565b600060405180830381600087803b158015611b0c57600080fd5b505af1158015611b20573d6000803e3d6000fd5b5050505050565b60176020528060005260406000206000915090505481565b611b47613d77565b80600060146101000a81548160ff02191690836004811115611b6c57611b6b61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb681604051611ba091906152eb565b60405180910390a150565b6000611bc182600c613df590919063ffffffff16565b9050919050565b60006002611bd6600c613d62565b03611be45760019050611c09565b60036002611bf2600c613d62565b611bfc91906158a4565b611c069190615915565b90505b90565b6016602052816000526040600020602052806000526040600020600091509150508060000154905081565b611c3f613d77565b806001600201819055507feb49fe6118b628c010445c30724ceaf4efd8d87f330911c36493b401b5c296d081604051611c7891906145b1565b60405180910390a150565b85601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548163ffffffff021916908363ffffffff16021790555084601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160046101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555083601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548163ffffffff021916908363ffffffff16021790555082601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555080601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040181905550505050505050565b60146020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60156020528060005260406000206000915054906101000a900460ff1681565b611f56613d77565b8460066000018190555083600660010181905550826006600201819055508160066003019080519060200190611f8d9291906144b3565b50806006600401819055507f16f896f15b01cc0c19146aac8f21b75e76e4f196a9e368ca3d1b7cf5251a12588585858585604051611fcf9594939291906159c2565b60405180910390a15050505050565b60606000825167ffffffffffffffff811115611ffd57611ffc6149fa565b5b60405190808252806020026020018201604052801561203657816020015b612023614500565b81526020019060019003908161201b5790505b50905060005b83518110156121e4576013600085838151811061205c5761205b615a1c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815250508282815181106121c6576121c5615a1c565b5b602002602001018190525080806121dc90615946565b91505061203c565b5080915050919050565b6121f6613d77565b806001600001819055507f5f15d41eab42cb3f8a5c9e8cd44043648cb85a815522c5f4ae5a32597a8447a08160405161222f91906145b1565b60405180910390a150565b606060006122486010613d62565b67ffffffffffffffff811115612261576122606149fa565b5b60405190808252806020026020018201604052801561228f5781602001602082028036833780820191505090505b509050600061229e6010613d62565b905060005b8181101561231f576122bf816010613e5590919063ffffffff16565b8382815181106122d2576122d1615a1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808061231790615946565b9150506122a3565b50819250505090565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638e8dfd16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c1536df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f991906154a2565b601260149054906101000a900460ff166040518363ffffffff1660e01b81526004016124269291906154de565b602060405180830381865afa158015612443573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612467919061551c565b905090565b606060006124786134e1565b905061248381611fde565b91505090565b60008060006016600087815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600001548160010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169250925050935093915050565b612549613d77565b6125536000613e9f565b565b61255d613d77565b612571816010613e6f90919063ffffffff16565b5061258681600e613e2590919063ffffffff16565b507fa5b14a5b2a3bffe27eff4f0dd1c65b1c966d2ec463c04f29a82c3e228ba7a071816040516125b6919061468d565b60405180910390a150565b60068060000154908060010154908060020154908060040154905084565b6125e7613d77565b6125fb81600e613e6f90919063ffffffff16565b50612610816010613e2590919063ffffffff16565b5061261a33613f63565b8073ffffffffffffffffffffffffffffffffffffffff167ff020e162c28460a603e71f641a2e83634580ace02b9e28b844b2257949860e9760006040516126619190615a86565b60405180910390a250565b600b5481565b600080601660006001800154815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506126d3611bc8565b8160000154106126e75760019150506126ed565b60009150505b919050565b60606000612700600c613d62565b67ffffffffffffffff811115612719576127186149fa565b5b6040519080825280602002602001820160405280156127475781602001602082028036833780820191505090505b5090506000612756600c613d62565b905060005b818110156127d75761277781600c613e5590919063ffffffff16565b83828151811061278a57612789615a1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806127cf90615946565b91505061275b565b50819250505090565b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036128b557336040517f64ffeb3d0000000000000000000000000000000000000000000000000000000081526004016128ac919061468d565b60405180910390fd5b6128c981600e613df590919063ffffffff16565b61290a57806040517f5f543082000000000000000000000000000000000000000000000000000000008152600401612901919061468d565b60405180910390fd5b601660006001800154815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156129ee57806040517f384ce38a0000000000000000000000000000000000000000000000000000000081526004016129e5919061468d565b60405180910390fd5b601660006001800154815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000815480929190612a5690615946565b91905055506001601660006001800154815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612b1c85600e613df590919063ffffffff16565b8015612b2d5750612b2c85612672565b5b15612cc857612b3b85613f63565b612b4f856010613e2590919063ffffffff16565b506000601760008681526020019081526020016000205490506000612b72612328565b905060006064838373ffffffffffffffffffffffffffffffffffffffff166370a082318b6040518263ffffffff1660e01b8152600401612bb2919061468d565b602060405180830381865afa158015612bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bf39190615877565b612bfd91906158a4565b612c079190615915565b90508173ffffffffffffffffffffffffffffffffffffffff16630a0e3dea828a6040518363ffffffff1660e01b8152600401612c44929190615549565b600060405180830381600087803b158015612c5e57600080fd5b505af1158015612c72573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff167ff020e162c28460a603e71f641a2e83634580ace02b9e28b844b2257949860e9782604051612cbc91906145b1565b60405180910390a25050505b838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167febdee48ed32f3feff81eed274b9e084b367ac42fe1cb710dcbd43f1d537d99fa8686604051612d28929190615aee565b60405180910390a45050505050565b600080600090506000612d4a600e613d62565b905060005b81811015612dde5760156000612d6f83600e613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612dcb578280612dc790615946565b9350505b8080612dd690615946565b915050612d4f565b50819250505090565b612def613d77565b6000612df9612328565b90508073ffffffffffffffffffffffffffffffffffffffff16630a0e3dea83856040518363ffffffff1660e01b8152600401612e36929190615549565b600060405180830381600087803b158015612e5057600080fd5b505af1158015612e64573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60018060000154908060010154908060020154908060030154908060040154905085565b601260149054906101000a900460ff1681565b6000612f0d6040518060400160405280601e81526020017f697341637469766556616c696461746f7242794e6f6465416464726573730000815250614150565b612f75601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166141e9565b612fe8601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c613df590919063ffffffff16565b9050919050565b6000612ff9612328565b90508073ffffffffffffffffffffffffffffffffffffffff16637acb775783336040518363ffffffff1660e01b8152600401613036929190615549565b600060405180830381600087803b15801561305057600080fd5b505af1158015613064573d6000803e3d6000fd5b505050505050565b600060048111156130805761307f61516f565b5b600060149054906101000a900460ff1660048111156130a2576130a161516f565b5b14806130e15750600360048111156130bd576130bc61516f565b5b600060149054906101000a900460ff1660048111156130df576130de61516f565b5b145b8061311e57506004808111156130fa576130f961516f565b5b600060149054906101000a900460ff16600481111561311c5761311b61516f565b5b145b61316e57600060149054906101000a900460ff166040517fc1f8741d00000000000000000000000000000000000000000000000000000000815260040161316591906152eb565b60405180910390fd5b6006600401546001613180600e613d62565b61318a9190615b12565b10156131dd5761319a600e613d62565b6006600401546040517f8a0defa40000000000000000000000000000000000000000000000000000000081526004016131d4929190615464565b60405180910390fd5b6131e633613f63565b3373ffffffffffffffffffffffffffffffffffffffff167fff61c8020d05b8c2e31cdbb3d3f8cbcbdc57fcafa00229d9858b7cfd3b039c8a60405160405180910390a2565b613233613d77565b6004600060146101000a81548160ff021916908360048111156132595761325861516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600460405161328e91906152eb565b60405180910390a1565b6132a187612fef565b6132af868686868686610ef5565b50505050505050565b6001600401546001600201546132ce919061598e565b42101561332057426001600201546001600401546040517f9312e85600000000000000000000000000000000000000000000000000000000815260040161331793929190615618565b60405180910390fd5b600160048111156133345761333361516f565b5b600060149054906101000a900460ff1660048111156133565761335561516f565b5b146133a757600060149054906101000a900460ff166040517f7203d9de00000000000000000000000000000000000000000000000000000000815260040161339e91906152eb565b60405180910390fd5b60006133b3600e613d62565b905060005b8181101561343e576000601560006133da84600e613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061343690615946565b9150506133b8565b506001600301600081548092919061345590615946565b91905055506003600060146101000a81548160ff021916908360048111156134805761347f61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff166040516134c391906152eb565b60405180910390a150565b600060149054906101000a900460ff1681565b606060006134ef600e613d62565b67ffffffffffffffff811115613508576135076149fa565b5b6040519080825280602002602001820160405280156135365781602001602082028036833780820191505090505b5090506000613545600e613d62565b905060005b818110156135c65761356681600e613e5590919063ffffffff16565b83828151811061357957613578615a1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806135be90615946565b91505061354a565b50819250505090565b60006135db600c613d62565b905090565b606060006135ec6126f2565b90506135f781611fde565b91505090565b600080600090506000613610600c613d62565b905060005b818110156136a4576015600061363583600c613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561369157828061368d90615946565b9350505b808061369c90615946565b915050613615565b50819250505090565b60006136b7612328565b90508073ffffffffffffffffffffffffffffffffffffffff1662f714ce8273ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161370d919061468d565b602060405180830381865afa15801561372a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374e9190615877565b336040518363ffffffff1660e01b815260040161376c929190615549565b600060405180830381600087803b15801561378657600080fd5b505af115801561379a573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663c00007b0336040518263ffffffff1660e01b81526004016137d7919061468d565b600060405180830381600087803b1580156137f157600080fd5b505af1158015613805573d6000803e3d6000fd5b5050505050565b6000613816611bc8565b61381e6135fd565b101561382d5760009050613851565b613835610a6f565b61383d612d37565b101561384c5760009050613851565b600190505b90565b606060066003018054806020026020016040519081016040528092919081815260200182805480156138a557602002820191906000526020600020905b815481526020019060010190808311613891575b5050505050905090565b6138b7613d77565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161391d90615bc9565b60405180910390fd5b61392f81613e9f565b50565b61393a613d77565b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2b5fe80d5061b20e017f0cde52b331309601bfcab0cb14cfcf6a4096410a6075816040516139aa919061468d565b60405180910390a150565b80600180015414613a03576001800154816040517f068cde2a0000000000000000000000000000000000000000000000000000000081526004016139fa929190615464565b60405180910390fd5b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016004811115613a7b57613a7a61516f565b5b600060149054906101000a900460ff166004811115613a9d57613a9c61516f565b5b1480613adc575060026004811115613ab857613ab761516f565b5b600060149054906101000a900460ff166004811115613ada57613ad961516f565b5b145b613b2c57600060149054906101000a900460ff166040517fe1b4c12e000000000000000000000000000000000000000000000000000000008152600401613b2391906152eb565b60405180910390fd5b6001806001015414613b9757613b4c81600e613df590919063ffffffff16565b613b965780613b596134e1565b6040517fa3113c0e000000000000000000000000000000000000000000000000000000008152600401613b8d929190615be9565b60405180910390fd5b5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0c101bf9bc977a511cf4ef91f5b9cbac30a0a3af0768cfd5c9634e73120d7c8b6001800154604051613c3991906145b1565b60405180910390a2613c4961380c565b15613cc0576002600060146101000a81548160ff02191690836004811115613c7457613c7361516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff16604051613cb791906152eb565b60405180910390a15b5050565b60136020528060005260406000206000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046fffffffffffffffffffffffffffffffff16908060000160149054906101000a900463ffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154905087565b6000613d7082600001614282565b9050919050565b613d7f614293565b73ffffffffffffffffffffffffffffffffffffffff16613d9d612e6d565b73ffffffffffffffffffffffffffffffffffffffff1614613df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dea90615c65565b60405180910390fd5b565b6000613e1d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61429b565b905092915050565b6000613e4d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6142be565b905092915050565b6000613e64836000018361432e565b60001c905092915050565b6000613e97836000018373ffffffffffffffffffffffffffffffffffffffff1660001b614359565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b613f7781600e613df590919063ffffffff16565b15613f9257613f9081600e613e6f90919063ffffffff16565b505b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820154815260200160038201548152602001600482015481525050905060008160a001518260c001516040516020016141079291906155ec565b60405160208183030381529060405280519060200120905060006018600083815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6141e6816040516024016141649190615cf3565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061446d565b50565b61427f816040516024016141fd919061468d565b6040516020818303038152906040527f2c2ecbc2000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061446d565b50565b600081600001805490509050919050565b600033905090565b600080836001016000848152602001908152602001600020541415905092915050565b60006142ca838361429b565b614323578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050614328565b600090505b92915050565b600082600001828154811061434657614345615a1c565b5b9060005260206000200154905092915050565b6000808360010160008481526020019081526020016000205490506000811461446157600060018261438b9190615b12565b90506000600186600001805490506143a39190615b12565b90508181146144125760008660000182815481106143c4576143c3615a1c565b5b90600052602060002001549050808760000184815481106143e8576143e7615a1c565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061442657614425615d15565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050614467565b60009150505b92915050565b6144848161447c6144876144a8565b63ffffffff16565b50565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b614571819050919050565b8280548282559060005260206000209081019282156144ef579160200282015b828111156144ee5782518255916020019190600101906144d3565b5b5090506144fc919061457b565b5090565b6040518060e00160405280600063ffffffff16815260200160006fffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081525090565b614579615d44565b565b5b8082111561459457600081600090555060010161457c565b5090565b6000819050919050565b6145ab81614598565b82525050565b60006020820190506145c660008301846145a2565b92915050565b6000604051905090565b600080fd5b600080fd5b6145e981614598565b81146145f457600080fd5b50565b600081359050614606816145e0565b92915050565b60008060408385031215614623576146226145d6565b5b6000614631858286016145f7565b9250506020614642858286016145f7565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006146778261464c565b9050919050565b6146878161466c565b82525050565b60006020820190506146a2600083018461467e565b92915050565b6000602082840312156146be576146bd6145d6565b5b60006146cc848285016145f7565b91505092915050565b6000819050919050565b6146e8816146d5565b81146146f357600080fd5b50565b600081359050614705816146df565b92915050565b600060208284031215614721576147206145d6565b5b600061472f848285016146f6565b91505092915050565b60008115159050919050565b61474d81614738565b82525050565b60006020820190506147686000830184614744565b92915050565b600063ffffffff82169050919050565b6147878161476e565b811461479257600080fd5b50565b6000813590506147a48161477e565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6147cf816147aa565b81146147da57600080fd5b50565b6000813590506147ec816147c6565b92915050565b6147fb8161466c565b811461480657600080fd5b50565b600081359050614818816147f2565b92915050565b60008060008060008060c0878903121561483b5761483a6145d6565b5b600061484989828a01614795565b965050602061485a89828a016147dd565b955050604061486b89828a01614795565b945050606061487c89828a01614809565b935050608061488d89828a016145f7565b92505060a061489e89828a016145f7565b9150509295509295509295565b600581106148b857600080fd5b50565b6000813590506148ca816148ab565b92915050565b6000602082840312156148e6576148e56145d6565b5b60006148f4848285016148bb565b91505092915050565b600060208284031215614913576149126145d6565b5b600061492184828501614809565b91505092915050565b60008060408385031215614941576149406145d6565b5b600061494f858286016145f7565b925050602061496085828601614809565b9150509250929050565b6000819050919050565b600061498f61498a6149858461464c565b61496a565b61464c565b9050919050565b60006149a182614974565b9050919050565b60006149b382614996565b9050919050565b6149c3816149a8565b82525050565b60006020820190506149de60008301846149ba565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614a32826149e9565b810181811067ffffffffffffffff82111715614a5157614a506149fa565b5b80604052505050565b6000614a646145cc565b9050614a708282614a29565b919050565b600067ffffffffffffffff821115614a9057614a8f6149fa565b5b602082029050602081019050919050565b600080fd5b6000614ab9614ab484614a75565b614a5a565b90508083825260208201905060208402830185811115614adc57614adb614aa1565b5b835b81811015614b055780614af188826145f7565b845260208401935050602081019050614ade565b5050509392505050565b600082601f830112614b2457614b236149e4565b5b8135614b34848260208601614aa6565b91505092915050565b600080600080600060a08688031215614b5957614b586145d6565b5b6000614b67888289016145f7565b9550506020614b78888289016145f7565b9450506040614b89888289016145f7565b935050606086013567ffffffffffffffff811115614baa57614ba96145db565b5b614bb688828901614b0f565b9250506080614bc7888289016145f7565b9150509295509295909350565b600067ffffffffffffffff821115614bef57614bee6149fa565b5b602082029050602081019050919050565b6000614c13614c0e84614bd4565b614a5a565b90508083825260208201905060208402830185811115614c3657614c35614aa1565b5b835b81811015614c5f5780614c4b8882614809565b845260208401935050602081019050614c38565b5050509392505050565b600082601f830112614c7e57614c7d6149e4565b5b8135614c8e848260208601614c00565b91505092915050565b600060208284031215614cad57614cac6145d6565b5b600082013567ffffffffffffffff811115614ccb57614cca6145db565b5b614cd784828501614c69565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614d158161476e565b82525050565b614d24816147aa565b82525050565b614d338161466c565b82525050565b614d4281614598565b82525050565b60e082016000820151614d5e6000850182614d0c565b506020820151614d716020850182614d1b565b506040820151614d846040850182614d0c565b506060820151614d976060850182614d2a565b506080820151614daa6080850182614d39565b5060a0820151614dbd60a0850182614d39565b5060c0820151614dd060c0850182614d39565b50505050565b6000614de28383614d48565b60e08301905092915050565b6000602082019050919050565b6000614e0682614ce0565b614e108185614ceb565b9350614e1b83614cfc565b8060005b83811015614e4c578151614e338882614dd6565b9750614e3e83614dee565b925050600181019050614e1f565b5085935050505092915050565b60006020820190508181036000830152614e738184614dfb565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000614eb38383614d2a565b60208301905092915050565b6000602082019050919050565b6000614ed782614e7b565b614ee18185614e86565b9350614eec83614e97565b8060005b83811015614f1d578151614f048882614ea7565b9750614f0f83614ebf565b925050600181019050614ef0565b5085935050505092915050565b60006020820190508181036000830152614f448184614ecc565b905092915050565b600080600060608486031215614f6557614f646145d6565b5b6000614f73868287016145f7565b9350506020614f8486828701614809565b9250506040614f9586828701614809565b9150509250925092565b6000604082019050614fb460008301856145a2565b614fc16020830184614744565b9392505050565b6000608082019050614fdd60008301876145a2565b614fea60208301866145a2565b614ff760408301856145a2565b61500460608301846145a2565b95945050505050565b600080fd5b60008083601f840112615028576150276149e4565b5b8235905067ffffffffffffffff8111156150455761504461500d565b5b60208301915083600182028301111561506157615060614aa1565b5b9250929050565b60008060008060608587031215615082576150816145d6565b5b600061509087828801614809565b94505060206150a1878288016145f7565b935050604085013567ffffffffffffffff8111156150c2576150c16145db565b5b6150ce87828801615012565b925092505092959194509250565b600080604083850312156150f3576150f26145d6565b5b600061510185828601614809565b9250506020615112858286016145f7565b9150509250929050565b600060a08201905061513160008301886145a2565b61513e60208301876145a2565b61514b60408301866145a2565b61515860608301856145a2565b61516560808301846145a2565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106151af576151ae61516f565b5b50565b60008190506151c08261519e565b919050565b60006151d0826151b2565b9050919050565b6151e0816151c5565b82525050565b60006020820190506151fb60008301846151d7565b92915050565b600080600080600080600060e0888a0312156152205761521f6145d6565b5b600061522e8a828b016145f7565b975050602061523f8a828b01614795565b96505060406152508a828b016147dd565b95505060606152618a828b01614795565b94505060806152728a828b01614809565b93505060a06152838a828b016145f7565b92505060c06152948a828b016145f7565b91505092959891949750929550565b600581106152b4576152b361516f565b5b50565b60008190506152c5826152a3565b919050565b60006152d5826152b7565b9050919050565b6152e5816152ca565b82525050565b600060208201905061530060008301846152dc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061533e8383614d39565b60208301905092915050565b6000602082019050919050565b600061536282615306565b61536c8185615311565b935061537783615322565b8060005b838110156153a857815161538f8882615332565b975061539a8361534a565b92505060018101905061537b565b5085935050505092915050565b600060208201905081810360008301526153cf8184615357565b905092915050565b6153e08161476e565b82525050565b6153ef816147aa565b82525050565b600060e08201905061540a600083018a6153d7565b61541760208301896153e6565b61542460408301886153d7565b615431606083018761467e565b61543e60808301866145a2565b61544b60a08301856145a2565b61545860c08301846145a2565b98975050505050505050565b600060408201905061547960008301856145a2565b61548660208301846145a2565b9392505050565b60008151905061549c816146df565b92915050565b6000602082840312156154b8576154b76145d6565b5b60006154c68482850161548d565b91505092915050565b6154d8816146d5565b82525050565b60006040820190506154f360008301856154cf565b61550060208301846151d7565b9392505050565b600081519050615516816147f2565b92915050565b600060208284031215615532576155316145d6565b5b600061554084828501615507565b91505092915050565b600060408201905061555e60008301856145a2565b61556b602083018461467e565b9392505050565b61557b81614738565b811461558657600080fd5b50565b60008151905061559881615572565b92915050565b6000602082840312156155b4576155b36145d6565b5b60006155c284828501615589565b91505092915050565b6000819050919050565b6155e66155e182614598565b6155cb565b82525050565b60006155f882856155d5565b60208201915061560882846155d5565b6020820191508190509392505050565b600060608201905061562d60008301866145a2565b61563a60208301856145a2565b61564760408301846145a2565b949350505050565b600060ff82169050919050565b6156658161564f565b811461567057600080fd5b50565b6000815190506156828161565c565b92915050565b60006020828403121561569e5761569d6145d6565b5b60006156ac84828501615673565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561573b57808604811115615717576157166156b5565b5b60018516156157265780820291505b8081029050615734856156e4565b94506156fb565b94509492505050565b6000826157545760019050615810565b816157625760009050615810565b81600181146157785760028114615782576157b1565b6001915050615810565b60ff841115615794576157936156b5565b5b8360020a9150848211156157ab576157aa6156b5565b5b50615810565b5060208310610133831016604e8410600b84101617156157e65782820a9050838111156157e1576157e06156b5565b5b615810565b6157f384848460016156f1565b9250905081840481111561580a576158096156b5565b5b81810290505b9392505050565b600061582282614598565b915061582d8361564f565b925061585a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615744565b905092915050565b600081519050615871816145e0565b92915050565b60006020828403121561588d5761588c6145d6565b5b600061589b84828501615862565b91505092915050565b60006158af82614598565b91506158ba83614598565b92508282026158c881614598565b915082820484148315176158df576158de6156b5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061592082614598565b915061592b83614598565b92508261593b5761593a6158e6565b5b828204905092915050565b600061595182614598565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615983576159826156b5565b5b600182019050919050565b600061599982614598565b91506159a483614598565b92508282019050808211156159bc576159bb6156b5565b5b92915050565b600060a0820190506159d760008301886145a2565b6159e460208301876145a2565b6159f160408301866145a2565b8181036060830152615a038185615357565b9050615a1260808301846145a2565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000615a70615a6b615a6684615a4b565b61496a565b614598565b9050919050565b615a8081615a55565b82525050565b6000602082019050615a9b6000830184615a77565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000615acd8385615aa1565b9350615ada838584615ab2565b615ae3836149e9565b840190509392505050565b60006020820190508181036000830152615b09818486615ac1565b90509392505050565b6000615b1d82614598565b9150615b2883614598565b9250828203905081811115615b4057615b3f6156b5565b5b92915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615bb3602683615b46565b9150615bbe82615b57565b604082019050919050565b60006020820190508181036000830152615be281615ba6565b9050919050565b6000604082019050615bfe600083018561467e565b8181036020830152615c108184614ecc565b90509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615c4f602083615b46565b9150615c5a82615c19565b602082019050919050565b60006020820190508181036000830152615c7e81615c42565b9050919050565b600081519050919050565b60005b83811015615cae578082015181840152602081019050615c93565b60008484015250505050565b6000615cc582615c85565b615ccf8185615b46565b9350615cdf818560208601615c90565b615ce8816149e9565b840191505092915050565b60006020820190508181036000830152615d0d8184615cba565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfea26469706673582212203f99d20c820badc7dc61329b6fb2e0c9a30359966f1e083bcb62a3437161fc5664736f6c63430008110033000000000000000000000000886a8b9ff6422ec0e05d96226ccd5970b886f8ad00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002

Deployed ByteCode

0x608060405234801561001057600080fd5b506004361061038e5760003560e01c806379502c55116101de578063b139603c1161010f578063e8684ed1116100ad578063f2fde38b1161007c578063f2fde38b146109e5578063f95d71b114610a01578063f99b562314610a1d578063fa52c7d814610a395761038e565b8063e8684ed114610981578063e9fad8ee1461099f578063f1887fec146109a9578063f1b877a8146109c75761038e565b8063c19d93fb116100e9578063c19d93fb14610909578063c35d4d0914610927578063d4818fca14610945578063e7c08720146109635761038e565b8063b139603c146108d9578063ba3bd22e146108e3578063c006e00b146108ff5761038e565b80638b80d8331161017c5780639dca0032116101565780639dca003214610865578063a25e49a414610883578063a694fc3a146108b3578063ac2f8afe146108cf5761038e565b80638b80d833146108095780638da5cb5b14610825578063900cf0cf146108435761038e565b8063847e0625116101b8578063847e062514610781578063857b7663146107b1578063865419e9146107cf57806389965883146107eb5761038e565b806379502c55146107265780637aa086e714610747578063817b1cd2146107635761038e565b80634927a143116102c3578063533d463e1161026157806361dee8a31161023057806361dee8a3146106b157806370fe276a146106cf578063715018a6146107005780637392c76b1461070a5761038e565b8063533d463e1461062957806354eea796146106595780635995a4c4146106755780635b677eac146106935761038e565b80635081f66f1161029d5780635081f66f1461058f57806350d17b5e146105bf578063519877eb146105dd5780635305c8cf1461060d5761038e565b80634927a143146105275780634a6e51f5146105575780634f8f0102146105735761038e565b80633528db88116103305780633e6852661161030a5780633e6852661461048d5780633f819713146104bd57806340550a1c146104d957806343cb0a0e146105095761038e565b80633528db881461045d5780633cf80e6c146104795780633d18b912146104835761038e565b806316930f4d1161036c57806316930f4d146103eb5780631fab87c4146103f5578063252959a5146104115780632e1a7d4d146104415761038e565b80630297d4db1461039357806309c7c7d0146103b157806310fe9ae8146103cd575b600080fd5b61039b610a6f565b6040516103a891906145b1565b60405180910390f35b6103cb60048036038101906103c6919061460c565b610a80565b005b6103d5610add565b6040516103e2919061468d565b60405180910390f35b6103f3610c21565b005b61040f600480360381019061040a91906146a8565b610e0d565b005b61042b6004803603810190610426919061470b565b610e59565b6040516104389190614753565b60405180910390f35b61045b600480360381019061045691906146a8565b610e79565b005b6104776004803603810190610472919061481e565b610ef5565b005b6104816115ec565b005b61048b611aad565b005b6104a760048036038101906104a291906146a8565b611b27565b6040516104b491906145b1565b60405180910390f35b6104d760048036038101906104d291906148d0565b611b3f565b005b6104f360048036038101906104ee91906148fd565b611bab565b6040516105009190614753565b60405180910390f35b610511611bc8565b60405161051e91906145b1565b60405180910390f35b610541600480360381019061053c919061492a565b611c0c565b60405161054e91906145b1565b60405180910390f35b610571600480360381019061056c91906146a8565b611c37565b005b61058d6004803603810190610588919061481e565b611c83565b005b6105a960048036038101906105a491906148fd565b611ed5565b6040516105b6919061468d565b60405180910390f35b6105c7611f08565b6040516105d491906149c9565b60405180910390f35b6105f760048036038101906105f291906148fd565b611f2e565b6040516106049190614753565b60405180910390f35b61062760048036038101906106229190614b3d565b611f4e565b005b610643600480360381019061063e9190614c97565b611fde565b6040516106509190614e59565b60405180910390f35b610673600480360381019061066e91906146a8565b6121ee565b005b61067d61223a565b60405161068a9190614f2a565b60405180910390f35b61069b612328565b6040516106a8919061468d565b60405180910390f35b6106b961246c565b6040516106c69190614e59565b60405180910390f35b6106e960048036038101906106e49190614f4c565b612489565b6040516106f7929190614f9f565b60405180910390f35b610708612541565b005b610724600480360381019061071f91906148fd565b612555565b005b61072e6125c1565b60405161073e9493929190614fc8565b60405180910390f35b610761600480360381019061075c91906148fd565b6125df565b005b61076b61266c565b60405161077891906145b1565b60405180910390f35b61079b600480360381019061079691906148fd565b612672565b6040516107a89190614753565b60405180910390f35b6107b96126f2565b6040516107c69190614f2a565b60405180910390f35b6107e960048036038101906107e49190615068565b6127e0565b005b6107f3612d37565b60405161080091906145b1565b60405180910390f35b610823600480360381019061081e91906150dc565b612de7565b005b61082d612e6d565b60405161083a919061468d565b60405180910390f35b61084b612e96565b60405161085c95949392919061511c565b60405180910390f35b61086d612eba565b60405161087a91906151e6565b60405180910390f35b61089d600480360381019061089891906148fd565b612ecd565b6040516108aa9190614753565b60405180910390f35b6108cd60048036038101906108c891906146a8565b612fef565b005b6108d761306c565b005b6108e161322b565b005b6108fd60048036038101906108f89190615201565b613298565b005b6109076132b8565b005b6109116134ce565b60405161091e91906152eb565b60405180910390f35b61092f6134e1565b60405161093c9190614f2a565b60405180910390f35b61094d6135cf565b60405161095a91906145b1565b60405180910390f35b61096b6135e0565b6040516109789190614e59565b60405180910390f35b6109896135fd565b60405161099691906145b1565b60405180910390f35b6109a76136ad565b005b6109b161380c565b6040516109be9190614753565b60405180910390f35b6109cf613854565b6040516109dc91906153b5565b60405180910390f35b6109ff60048036038101906109fa91906148fd565b6138af565b005b610a1b6004803603810190610a1691906148fd565b613932565b005b610a376004803603810190610a3291906146a8565b6139b5565b005b610a536004803603810190610a4e91906148fd565b613cc4565b604051610a6697969594939291906153f5565b60405180910390f35b6000610a7b600e613d62565b905090565b610a88613d77565b8060176000848152602001908152602001600020819055507fd96aa9b717408dfdef39925f998646946efba8139acb451b120585a33de7f1e68282604051610ad1929190615464565b60405180910390a15050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638e8dfd16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df3806936040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bae91906154a2565b601260149054906101000a900460ff166040518363ffffffff1660e01b8152600401610bdb9291906154de565b602060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c919061551c565b905090565b600160020154421015610c7257426001600201546040517ff44bc0a7000000000000000000000000000000000000000000000000000000008152600401610c69929190615464565b60405180910390fd5b60006004811115610c8657610c8561516f565b5b600060149054906101000a900460ff166004811115610ca857610ca761516f565b5b1480610ce7575060036004811115610cc357610cc261516f565b5b600060149054906101000a900460ff166004811115610ce557610ce461516f565b5b145b610d3757600060149054906101000a900460ff166040517f9ef5b6f5000000000000000000000000000000000000000000000000000000008152600401610d2e91906152eb565b60405180910390fd5b600660040154610d47600e613d62565b1015610d9a57610d57600e613d62565b6006600401546040517f8a0defa4000000000000000000000000000000000000000000000000000000008152600401610d91929190615464565b60405180910390fd5b6001600060146101000a81548160ff02191690836004811115610dc057610dbf61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff16604051610e0391906152eb565b60405180910390a1565b610e15613d77565b806001600401819055507f887fed3a9270ffbbf863d640a07413b6f58cf97afaa9d7267693e962a76bd81081604051610e4e91906145b1565b60405180910390a150565b60186020528060005260406000206000915054906101000a900460ff1681565b6000610e83612328565b90508073ffffffffffffffffffffffffffffffffffffffff1662f714ce83336040518363ffffffff1660e01b8152600401610ebf929190615549565b600060405180830381600087803b158015610ed957600080fd5b505af1158015610eed573d6000803e3d6000fd5b505050505050565b6000610eff612328565b90508073ffffffffffffffffffffffffffffffffffffffff166349919966336040518263ffffffff1660e01b8152600401610f3a919061468d565b602060405180830381865afa158015610f57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7b919061559e565b5060006004811115610f9057610f8f61516f565b5b600060149054906101000a900460ff166004811115610fb257610fb161516f565b5b1480610ff1575060036004811115610fcd57610fcc61516f565b5b600060149054906101000a900460ff166004811115610fef57610fee61516f565b5b145b8061102e575060048081111561100a5761100961516f565b5b600060149054906101000a900460ff16600481111561102c5761102b61516f565b5b145b61107e57600060149054906101000a900460ff166040517fc1f8741d00000000000000000000000000000000000000000000000000000000815260040161107591906152eb565b60405180910390fd5b611092336010613df590919063ffffffff16565b156110d457336040517f7c6d6c6b0000000000000000000000000000000000000000000000000000000081526004016110cb919061468d565b60405180910390fd5b600083836040516020016110e99291906155ec565b6040516020818303038152906040528051906020012090506018600082815260200190815260200160002060009054906101000a900460ff16156111665783836040517f1179010e00000000000000000000000000000000000000000000000000000000815260040161115d929190615464565b60405180910390fd5b60016018600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166327a199d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611201919061559e565b156112c2578173ffffffffffffffffffffffffffffffffffffffff1663d3dbad7d336040518263ffffffff1660e01b815260040161123f919061468d565b602060405180830381865afa15801561125c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611280919061559e565b6112c157336040517f924a59100000000000000000000000000000000000000000000000000000000081526004016112b8919061468d565b60405180910390fd5b5b87601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548163ffffffff021916908363ffffffff16021790555086601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160046101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555085601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548163ffffffff021916908363ffffffff16021790555084601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555082601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004018190555033601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061159e33600e613e2590919063ffffffff16565b503373ffffffffffffffffffffffffffffffffffffffff167f1dc186bd4daaf3fc4b9f8c689228a0be60dd2952dc502829514ae0d6955c0f5160405160405180910390a25050505050505050565b60016002015442101561163d57426001600201546040517ff44bc0a7000000000000000000000000000000000000000000000000000000008152600401611634929190615464565b60405180910390fd5b600260048111156116515761165061516f565b5b600060149054906101000a900460ff1660048111156116735761167261516f565b5b146116c457600060149054906101000a900460ff166040517f17ce3ae10000000000000000000000000000000000000000000000000000000081526004016116bb91906152eb565b60405180910390fd5b6116cc61380c565b611726576116d86135fd565b6116e0612d37565b6116e8611bc8565b6040517f26d6b3de00000000000000000000000000000000000000000000000000000000815260040161171d93929190615618565b60405180910390fd5b6000611732600c613d62565b905060005b8181101561190657600061175582600c613e5590919063ffffffff16565b90506000611761610add565b9050600061176d612328565b905060008273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e09190615688565b600a6117ec9190615817565b8273ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401611825919061468d565b602060405180830381865afa158015611842573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118669190615877565b60066000015461187691906158a4565b6118809190615915565b90508173ffffffffffffffffffffffffffffffffffffffff166302fa04c982866040518363ffffffff1660e01b81526004016118bd929190615549565b600060405180830381600087803b1580156118d757600080fd5b505af11580156118eb573d6000803e3d6000fd5b505050505050505080806118fe90615946565b915050611737565b505b6000611914600c613d62565b1115611948576119426119326000600c613e5590919063ffffffff16565b600c613e6f90919063ffffffff16565b50611908565b611952600e613d62565b905060005b81811015611a055761198661197682600e613e5590919063ffffffff16565b600c613e2590919063ffffffff16565b506000601560006119a184600e613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806119fd90615946565b915050611957565b50600180016000815480929190611a1b90615946565b919050555060016000015442611a31919061598e565b60016002018190555060008060146101000a81548160ff02191690836004811115611a5f57611a5e61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff16604051611aa291906152eb565b60405180910390a150565b6000611ab7612328565b90508073ffffffffffffffffffffffffffffffffffffffff1663c00007b0336040518263ffffffff1660e01b8152600401611af2919061468d565b600060405180830381600087803b158015611b0c57600080fd5b505af1158015611b20573d6000803e3d6000fd5b5050505050565b60176020528060005260406000206000915090505481565b611b47613d77565b80600060146101000a81548160ff02191690836004811115611b6c57611b6b61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb681604051611ba091906152eb565b60405180910390a150565b6000611bc182600c613df590919063ffffffff16565b9050919050565b60006002611bd6600c613d62565b03611be45760019050611c09565b60036002611bf2600c613d62565b611bfc91906158a4565b611c069190615915565b90505b90565b6016602052816000526040600020602052806000526040600020600091509150508060000154905081565b611c3f613d77565b806001600201819055507feb49fe6118b628c010445c30724ceaf4efd8d87f330911c36493b401b5c296d081604051611c7891906145b1565b60405180910390a150565b85601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548163ffffffff021916908363ffffffff16021790555084601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160046101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555083601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160146101000a81548163ffffffff021916908363ffffffff16021790555082601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018190555080601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040181905550505050505050565b60146020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60156020528060005260406000206000915054906101000a900460ff1681565b611f56613d77565b8460066000018190555083600660010181905550826006600201819055508160066003019080519060200190611f8d9291906144b3565b50806006600401819055507f16f896f15b01cc0c19146aac8f21b75e76e4f196a9e368ca3d1b7cf5251a12588585858585604051611fcf9594939291906159c2565b60405180910390a15050505050565b60606000825167ffffffffffffffff811115611ffd57611ffc6149fa565b5b60405190808252806020026020018201604052801561203657816020015b612023614500565b81526020019060019003908161201b5790505b50905060005b83518110156121e4576013600085838151811061205c5761205b615a1c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815250508282815181106121c6576121c5615a1c565b5b602002602001018190525080806121dc90615946565b91505061203c565b5080915050919050565b6121f6613d77565b806001600001819055507f5f15d41eab42cb3f8a5c9e8cd44043648cb85a815522c5f4ae5a32597a8447a08160405161222f91906145b1565b60405180910390a150565b606060006122486010613d62565b67ffffffffffffffff811115612261576122606149fa565b5b60405190808252806020026020018201604052801561228f5781602001602082028036833780820191505090505b509050600061229e6010613d62565b905060005b8181101561231f576122bf816010613e5590919063ffffffff16565b8382815181106122d2576122d1615a1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808061231790615946565b9150506122a3565b50819250505090565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638e8dfd16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c1536df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f991906154a2565b601260149054906101000a900460ff166040518363ffffffff1660e01b81526004016124269291906154de565b602060405180830381865afa158015612443573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612467919061551c565b905090565b606060006124786134e1565b905061248381611fde565b91505090565b60008060006016600087815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600001548160010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169250925050935093915050565b612549613d77565b6125536000613e9f565b565b61255d613d77565b612571816010613e6f90919063ffffffff16565b5061258681600e613e2590919063ffffffff16565b507fa5b14a5b2a3bffe27eff4f0dd1c65b1c966d2ec463c04f29a82c3e228ba7a071816040516125b6919061468d565b60405180910390a150565b60068060000154908060010154908060020154908060040154905084565b6125e7613d77565b6125fb81600e613e6f90919063ffffffff16565b50612610816010613e2590919063ffffffff16565b5061261a33613f63565b8073ffffffffffffffffffffffffffffffffffffffff167ff020e162c28460a603e71f641a2e83634580ace02b9e28b844b2257949860e9760006040516126619190615a86565b60405180910390a250565b600b5481565b600080601660006001800154815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506126d3611bc8565b8160000154106126e75760019150506126ed565b60009150505b919050565b60606000612700600c613d62565b67ffffffffffffffff811115612719576127186149fa565b5b6040519080825280602002602001820160405280156127475781602001602082028036833780820191505090505b5090506000612756600c613d62565b905060005b818110156127d75761277781600c613e5590919063ffffffff16565b83828151811061278a57612789615a1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806127cf90615946565b91505061275b565b50819250505090565b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036128b557336040517f64ffeb3d0000000000000000000000000000000000000000000000000000000081526004016128ac919061468d565b60405180910390fd5b6128c981600e613df590919063ffffffff16565b61290a57806040517f5f543082000000000000000000000000000000000000000000000000000000008152600401612901919061468d565b60405180910390fd5b601660006001800154815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156129ee57806040517f384ce38a0000000000000000000000000000000000000000000000000000000081526004016129e5919061468d565b60405180910390fd5b601660006001800154815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000815480929190612a5690615946565b91905055506001601660006001800154815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612b1c85600e613df590919063ffffffff16565b8015612b2d5750612b2c85612672565b5b15612cc857612b3b85613f63565b612b4f856010613e2590919063ffffffff16565b506000601760008681526020019081526020016000205490506000612b72612328565b905060006064838373ffffffffffffffffffffffffffffffffffffffff166370a082318b6040518263ffffffff1660e01b8152600401612bb2919061468d565b602060405180830381865afa158015612bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bf39190615877565b612bfd91906158a4565b612c079190615915565b90508173ffffffffffffffffffffffffffffffffffffffff16630a0e3dea828a6040518363ffffffff1660e01b8152600401612c44929190615549565b600060405180830381600087803b158015612c5e57600080fd5b505af1158015612c72573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff167ff020e162c28460a603e71f641a2e83634580ace02b9e28b844b2257949860e9782604051612cbc91906145b1565b60405180910390a25050505b838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167febdee48ed32f3feff81eed274b9e084b367ac42fe1cb710dcbd43f1d537d99fa8686604051612d28929190615aee565b60405180910390a45050505050565b600080600090506000612d4a600e613d62565b905060005b81811015612dde5760156000612d6f83600e613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612dcb578280612dc790615946565b9350505b8080612dd690615946565b915050612d4f565b50819250505090565b612def613d77565b6000612df9612328565b90508073ffffffffffffffffffffffffffffffffffffffff16630a0e3dea83856040518363ffffffff1660e01b8152600401612e36929190615549565b600060405180830381600087803b158015612e5057600080fd5b505af1158015612e64573d6000803e3d6000fd5b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60018060000154908060010154908060020154908060030154908060040154905085565b601260149054906101000a900460ff1681565b6000612f0d6040518060400160405280601e81526020017f697341637469766556616c696461746f7242794e6f6465416464726573730000815250614150565b612f75601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166141e9565b612fe8601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c613df590919063ffffffff16565b9050919050565b6000612ff9612328565b90508073ffffffffffffffffffffffffffffffffffffffff16637acb775783336040518363ffffffff1660e01b8152600401613036929190615549565b600060405180830381600087803b15801561305057600080fd5b505af1158015613064573d6000803e3d6000fd5b505050505050565b600060048111156130805761307f61516f565b5b600060149054906101000a900460ff1660048111156130a2576130a161516f565b5b14806130e15750600360048111156130bd576130bc61516f565b5b600060149054906101000a900460ff1660048111156130df576130de61516f565b5b145b8061311e57506004808111156130fa576130f961516f565b5b600060149054906101000a900460ff16600481111561311c5761311b61516f565b5b145b61316e57600060149054906101000a900460ff166040517fc1f8741d00000000000000000000000000000000000000000000000000000000815260040161316591906152eb565b60405180910390fd5b6006600401546001613180600e613d62565b61318a9190615b12565b10156131dd5761319a600e613d62565b6006600401546040517f8a0defa40000000000000000000000000000000000000000000000000000000081526004016131d4929190615464565b60405180910390fd5b6131e633613f63565b3373ffffffffffffffffffffffffffffffffffffffff167fff61c8020d05b8c2e31cdbb3d3f8cbcbdc57fcafa00229d9858b7cfd3b039c8a60405160405180910390a2565b613233613d77565b6004600060146101000a81548160ff021916908360048111156132595761325861516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600460405161328e91906152eb565b60405180910390a1565b6132a187612fef565b6132af868686868686610ef5565b50505050505050565b6001600401546001600201546132ce919061598e565b42101561332057426001600201546001600401546040517f9312e85600000000000000000000000000000000000000000000000000000000815260040161331793929190615618565b60405180910390fd5b600160048111156133345761333361516f565b5b600060149054906101000a900460ff1660048111156133565761335561516f565b5b146133a757600060149054906101000a900460ff166040517f7203d9de00000000000000000000000000000000000000000000000000000000815260040161339e91906152eb565b60405180910390fd5b60006133b3600e613d62565b905060005b8181101561343e576000601560006133da84600e613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061343690615946565b9150506133b8565b506001600301600081548092919061345590615946565b91905055506003600060146101000a81548160ff021916908360048111156134805761347f61516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff166040516134c391906152eb565b60405180910390a150565b600060149054906101000a900460ff1681565b606060006134ef600e613d62565b67ffffffffffffffff811115613508576135076149fa565b5b6040519080825280602002602001820160405280156135365781602001602082028036833780820191505090505b5090506000613545600e613d62565b905060005b818110156135c65761356681600e613e5590919063ffffffff16565b83828151811061357957613578615a1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806135be90615946565b91505061354a565b50819250505090565b60006135db600c613d62565b905090565b606060006135ec6126f2565b90506135f781611fde565b91505090565b600080600090506000613610600c613d62565b905060005b818110156136a4576015600061363583600c613e5590919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561369157828061368d90615946565b9350505b808061369c90615946565b915050613615565b50819250505090565b60006136b7612328565b90508073ffffffffffffffffffffffffffffffffffffffff1662f714ce8273ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161370d919061468d565b602060405180830381865afa15801561372a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061374e9190615877565b336040518363ffffffff1660e01b815260040161376c929190615549565b600060405180830381600087803b15801561378657600080fd5b505af115801561379a573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663c00007b0336040518263ffffffff1660e01b81526004016137d7919061468d565b600060405180830381600087803b1580156137f157600080fd5b505af1158015613805573d6000803e3d6000fd5b5050505050565b6000613816611bc8565b61381e6135fd565b101561382d5760009050613851565b613835610a6f565b61383d612d37565b101561384c5760009050613851565b600190505b90565b606060066003018054806020026020016040519081016040528092919081815260200182805480156138a557602002820191906000526020600020905b815481526020019060010190808311613891575b5050505050905090565b6138b7613d77565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161391d90615bc9565b60405180910390fd5b61392f81613e9f565b50565b61393a613d77565b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2b5fe80d5061b20e017f0cde52b331309601bfcab0cb14cfcf6a4096410a6075816040516139aa919061468d565b60405180910390a150565b80600180015414613a03576001800154816040517f068cde2a0000000000000000000000000000000000000000000000000000000081526004016139fa929190615464565b60405180910390fd5b6000601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016004811115613a7b57613a7a61516f565b5b600060149054906101000a900460ff166004811115613a9d57613a9c61516f565b5b1480613adc575060026004811115613ab857613ab761516f565b5b600060149054906101000a900460ff166004811115613ada57613ad961516f565b5b145b613b2c57600060149054906101000a900460ff166040517fe1b4c12e000000000000000000000000000000000000000000000000000000008152600401613b2391906152eb565b60405180910390fd5b6001806001015414613b9757613b4c81600e613df590919063ffffffff16565b613b965780613b596134e1565b6040517fa3113c0e000000000000000000000000000000000000000000000000000000008152600401613b8d929190615be9565b60405180910390fd5b5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0c101bf9bc977a511cf4ef91f5b9cbac30a0a3af0768cfd5c9634e73120d7c8b6001800154604051613c3991906145b1565b60405180910390a2613c4961380c565b15613cc0576002600060146101000a81548160ff02191690836004811115613c7457613c7361516f565b5b02179055507f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb6600060149054906101000a900460ff16604051613cb791906152eb565b60405180910390a15b5050565b60136020528060005260406000206000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046fffffffffffffffffffffffffffffffff16908060000160149054906101000a900463ffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154905087565b6000613d7082600001614282565b9050919050565b613d7f614293565b73ffffffffffffffffffffffffffffffffffffffff16613d9d612e6d565b73ffffffffffffffffffffffffffffffffffffffff1614613df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dea90615c65565b60405180910390fd5b565b6000613e1d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61429b565b905092915050565b6000613e4d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6142be565b905092915050565b6000613e64836000018361432e565b60001c905092915050565b6000613e97836000018373ffffffffffffffffffffffffffffffffffffffff1660001b614359565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b613f7781600e613df590919063ffffffff16565b15613f9257613f9081600e613e6f90919063ffffffff16565b505b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820154815260200160038201548152602001600482015481525050905060008160a001518260c001516040516020016141079291906155ec565b60405160208183030381529060405280519060200120905060006018600083815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6141e6816040516024016141649190615cf3565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061446d565b50565b61427f816040516024016141fd919061468d565b6040516020818303038152906040527f2c2ecbc2000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061446d565b50565b600081600001805490509050919050565b600033905090565b600080836001016000848152602001908152602001600020541415905092915050565b60006142ca838361429b565b614323578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050614328565b600090505b92915050565b600082600001828154811061434657614345615a1c565b5b9060005260206000200154905092915050565b6000808360010160008481526020019081526020016000205490506000811461446157600060018261438b9190615b12565b90506000600186600001805490506143a39190615b12565b90508181146144125760008660000182815481106143c4576143c3615a1c565b5b90600052602060002001549050808760000184815481106143e8576143e7615a1c565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061442657614425615d15565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050614467565b60009150505b92915050565b6144848161447c6144876144a8565b63ffffffff16565b50565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b614571819050919050565b8280548282559060005260206000209081019282156144ef579160200282015b828111156144ee5782518255916020019190600101906144d3565b5b5090506144fc919061457b565b5090565b6040518060e00160405280600063ffffffff16815260200160006fffffffffffffffffffffffffffffffff168152602001600063ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081525090565b614579615d44565b565b5b8082111561459457600081600090555060010161457c565b5090565b6000819050919050565b6145ab81614598565b82525050565b60006020820190506145c660008301846145a2565b92915050565b6000604051905090565b600080fd5b600080fd5b6145e981614598565b81146145f457600080fd5b50565b600081359050614606816145e0565b92915050565b60008060408385031215614623576146226145d6565b5b6000614631858286016145f7565b9250506020614642858286016145f7565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006146778261464c565b9050919050565b6146878161466c565b82525050565b60006020820190506146a2600083018461467e565b92915050565b6000602082840312156146be576146bd6145d6565b5b60006146cc848285016145f7565b91505092915050565b6000819050919050565b6146e8816146d5565b81146146f357600080fd5b50565b600081359050614705816146df565b92915050565b600060208284031215614721576147206145d6565b5b600061472f848285016146f6565b91505092915050565b60008115159050919050565b61474d81614738565b82525050565b60006020820190506147686000830184614744565b92915050565b600063ffffffff82169050919050565b6147878161476e565b811461479257600080fd5b50565b6000813590506147a48161477e565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6147cf816147aa565b81146147da57600080fd5b50565b6000813590506147ec816147c6565b92915050565b6147fb8161466c565b811461480657600080fd5b50565b600081359050614818816147f2565b92915050565b60008060008060008060c0878903121561483b5761483a6145d6565b5b600061484989828a01614795565b965050602061485a89828a016147dd565b955050604061486b89828a01614795565b945050606061487c89828a01614809565b935050608061488d89828a016145f7565b92505060a061489e89828a016145f7565b9150509295509295509295565b600581106148b857600080fd5b50565b6000813590506148ca816148ab565b92915050565b6000602082840312156148e6576148e56145d6565b5b60006148f4848285016148bb565b91505092915050565b600060208284031215614913576149126145d6565b5b600061492184828501614809565b91505092915050565b60008060408385031215614941576149406145d6565b5b600061494f858286016145f7565b925050602061496085828601614809565b9150509250929050565b6000819050919050565b600061498f61498a6149858461464c565b61496a565b61464c565b9050919050565b60006149a182614974565b9050919050565b60006149b382614996565b9050919050565b6149c3816149a8565b82525050565b60006020820190506149de60008301846149ba565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614a32826149e9565b810181811067ffffffffffffffff82111715614a5157614a506149fa565b5b80604052505050565b6000614a646145cc565b9050614a708282614a29565b919050565b600067ffffffffffffffff821115614a9057614a8f6149fa565b5b602082029050602081019050919050565b600080fd5b6000614ab9614ab484614a75565b614a5a565b90508083825260208201905060208402830185811115614adc57614adb614aa1565b5b835b81811015614b055780614af188826145f7565b845260208401935050602081019050614ade565b5050509392505050565b600082601f830112614b2457614b236149e4565b5b8135614b34848260208601614aa6565b91505092915050565b600080600080600060a08688031215614b5957614b586145d6565b5b6000614b67888289016145f7565b9550506020614b78888289016145f7565b9450506040614b89888289016145f7565b935050606086013567ffffffffffffffff811115614baa57614ba96145db565b5b614bb688828901614b0f565b9250506080614bc7888289016145f7565b9150509295509295909350565b600067ffffffffffffffff821115614bef57614bee6149fa565b5b602082029050602081019050919050565b6000614c13614c0e84614bd4565b614a5a565b90508083825260208201905060208402830185811115614c3657614c35614aa1565b5b835b81811015614c5f5780614c4b8882614809565b845260208401935050602081019050614c38565b5050509392505050565b600082601f830112614c7e57614c7d6149e4565b5b8135614c8e848260208601614c00565b91505092915050565b600060208284031215614cad57614cac6145d6565b5b600082013567ffffffffffffffff811115614ccb57614cca6145db565b5b614cd784828501614c69565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614d158161476e565b82525050565b614d24816147aa565b82525050565b614d338161466c565b82525050565b614d4281614598565b82525050565b60e082016000820151614d5e6000850182614d0c565b506020820151614d716020850182614d1b565b506040820151614d846040850182614d0c565b506060820151614d976060850182614d2a565b506080820151614daa6080850182614d39565b5060a0820151614dbd60a0850182614d39565b5060c0820151614dd060c0850182614d39565b50505050565b6000614de28383614d48565b60e08301905092915050565b6000602082019050919050565b6000614e0682614ce0565b614e108185614ceb565b9350614e1b83614cfc565b8060005b83811015614e4c578151614e338882614dd6565b9750614e3e83614dee565b925050600181019050614e1f565b5085935050505092915050565b60006020820190508181036000830152614e738184614dfb565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000614eb38383614d2a565b60208301905092915050565b6000602082019050919050565b6000614ed782614e7b565b614ee18185614e86565b9350614eec83614e97565b8060005b83811015614f1d578151614f048882614ea7565b9750614f0f83614ebf565b925050600181019050614ef0565b5085935050505092915050565b60006020820190508181036000830152614f448184614ecc565b905092915050565b600080600060608486031215614f6557614f646145d6565b5b6000614f73868287016145f7565b9350506020614f8486828701614809565b9250506040614f9586828701614809565b9150509250925092565b6000604082019050614fb460008301856145a2565b614fc16020830184614744565b9392505050565b6000608082019050614fdd60008301876145a2565b614fea60208301866145a2565b614ff760408301856145a2565b61500460608301846145a2565b95945050505050565b600080fd5b60008083601f840112615028576150276149e4565b5b8235905067ffffffffffffffff8111156150455761504461500d565b5b60208301915083600182028301111561506157615060614aa1565b5b9250929050565b60008060008060608587031215615082576150816145d6565b5b600061509087828801614809565b94505060206150a1878288016145f7565b935050604085013567ffffffffffffffff8111156150c2576150c16145db565b5b6150ce87828801615012565b925092505092959194509250565b600080604083850312156150f3576150f26145d6565b5b600061510185828601614809565b9250506020615112858286016145f7565b9150509250929050565b600060a08201905061513160008301886145a2565b61513e60208301876145a2565b61514b60408301866145a2565b61515860608301856145a2565b61516560808301846145a2565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106151af576151ae61516f565b5b50565b60008190506151c08261519e565b919050565b60006151d0826151b2565b9050919050565b6151e0816151c5565b82525050565b60006020820190506151fb60008301846151d7565b92915050565b600080600080600080600060e0888a0312156152205761521f6145d6565b5b600061522e8a828b016145f7565b975050602061523f8a828b01614795565b96505060406152508a828b016147dd565b95505060606152618a828b01614795565b94505060806152728a828b01614809565b93505060a06152838a828b016145f7565b92505060c06152948a828b016145f7565b91505092959891949750929550565b600581106152b4576152b361516f565b5b50565b60008190506152c5826152a3565b919050565b60006152d5826152b7565b9050919050565b6152e5816152ca565b82525050565b600060208201905061530060008301846152dc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600061533e8383614d39565b60208301905092915050565b6000602082019050919050565b600061536282615306565b61536c8185615311565b935061537783615322565b8060005b838110156153a857815161538f8882615332565b975061539a8361534a565b92505060018101905061537b565b5085935050505092915050565b600060208201905081810360008301526153cf8184615357565b905092915050565b6153e08161476e565b82525050565b6153ef816147aa565b82525050565b600060e08201905061540a600083018a6153d7565b61541760208301896153e6565b61542460408301886153d7565b615431606083018761467e565b61543e60808301866145a2565b61544b60a08301856145a2565b61545860c08301846145a2565b98975050505050505050565b600060408201905061547960008301856145a2565b61548660208301846145a2565b9392505050565b60008151905061549c816146df565b92915050565b6000602082840312156154b8576154b76145d6565b5b60006154c68482850161548d565b91505092915050565b6154d8816146d5565b82525050565b60006040820190506154f360008301856154cf565b61550060208301846151d7565b9392505050565b600081519050615516816147f2565b92915050565b600060208284031215615532576155316145d6565b5b600061554084828501615507565b91505092915050565b600060408201905061555e60008301856145a2565b61556b602083018461467e565b9392505050565b61557b81614738565b811461558657600080fd5b50565b60008151905061559881615572565b92915050565b6000602082840312156155b4576155b36145d6565b5b60006155c284828501615589565b91505092915050565b6000819050919050565b6155e66155e182614598565b6155cb565b82525050565b60006155f882856155d5565b60208201915061560882846155d5565b6020820191508190509392505050565b600060608201905061562d60008301866145a2565b61563a60208301856145a2565b61564760408301846145a2565b949350505050565b600060ff82169050919050565b6156658161564f565b811461567057600080fd5b50565b6000815190506156828161565c565b92915050565b60006020828403121561569e5761569d6145d6565b5b60006156ac84828501615673565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561573b57808604811115615717576157166156b5565b5b60018516156157265780820291505b8081029050615734856156e4565b94506156fb565b94509492505050565b6000826157545760019050615810565b816157625760009050615810565b81600181146157785760028114615782576157b1565b6001915050615810565b60ff841115615794576157936156b5565b5b8360020a9150848211156157ab576157aa6156b5565b5b50615810565b5060208310610133831016604e8410600b84101617156157e65782820a9050838111156157e1576157e06156b5565b5b615810565b6157f384848460016156f1565b9250905081840481111561580a576158096156b5565b5b81810290505b9392505050565b600061582282614598565b915061582d8361564f565b925061585a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615744565b905092915050565b600081519050615871816145e0565b92915050565b60006020828403121561588d5761588c6145d6565b5b600061589b84828501615862565b91505092915050565b60006158af82614598565b91506158ba83614598565b92508282026158c881614598565b915082820484148315176158df576158de6156b5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061592082614598565b915061592b83614598565b92508261593b5761593a6158e6565b5b828204905092915050565b600061595182614598565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615983576159826156b5565b5b600182019050919050565b600061599982614598565b91506159a483614598565b92508282019050808211156159bc576159bb6156b5565b5b92915050565b600060a0820190506159d760008301886145a2565b6159e460208301876145a2565b6159f160408301866145a2565b8181036060830152615a038185615357565b9050615a1260808301846145a2565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000615a70615a6b615a6684615a4b565b61496a565b614598565b9050919050565b615a8081615a55565b82525050565b6000602082019050615a9b6000830184615a77565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000615acd8385615aa1565b9350615ada838584615ab2565b615ae3836149e9565b840190509392505050565b60006020820190508181036000830152615b09818486615ac1565b90509392505050565b6000615b1d82614598565b9150615b2883614598565b9250828203905081811115615b4057615b3f6156b5565b5b92915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615bb3602683615b46565b9150615bbe82615b57565b604082019050919050565b60006020820190508181036000830152615be281615ba6565b9050919050565b6000604082019050615bfe600083018561467e565b8181036020830152615c108184614ecc565b90509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615c4f602083615b46565b9150615c5a82615c19565b602082019050919050565b60006020820190508181036000830152615c7e81615c42565b9050919050565b600081519050919050565b60005b83811015615cae578082015181840152602081019050615c93565b60008484015250505050565b6000615cc582615c85565b615ccf8185615b46565b9350615cdf818560208601615c90565b615ce8816149e9565b840191505092915050565b60006020820190508181036000830152615d0d8184615cba565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fdfea26469706673582212203f99d20c820badc7dc61329b6fb2e0c9a30359966f1e083bcb62a3437161fc5664736f6c63430008110033