Mainnet
Testnet
Sweat (SWT)

Sweat (SWT)

Overview

Max Total supply:
1,000,000
SWT
Holders:
27 addresses
Total transfers:
29

Token info

Contract:
Name:
Sweat
Symbol:
SWT
Decimals:
18
Token type:
wrc20
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f5377656174000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f53776561740000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f53575400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620001049291906200121b565b5080600490805190602001906200011d9291906200121b565b5050506200013b600a836200026760201b620016421790919060201c565b61012081815250506200015e600b826200026760201b620016421790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200019d620002cb60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050620001f06000801b336200032860201b60201c565b620002227f5fdbd35e8da83ee755d5e62a539e5ed7f47126abede0b8b10f9ea43dc6eed07f336200032860201b60201c565b6200026133620002376200041a60201b60201c565b600a62000245919062001465565b620f4240620002559190620014b6565b6200042360201b60201c565b62001ba4565b60006020835110156200028d5762000285836200043e60201b60201c565b9050620002c5565b82620002a483620004ab60201b6200168d1760201c565b6000019080519060200190620002bc9291906200121b565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200030d95949392919062001588565b60405160208183030381529060405280519060200120905090565b6200033a8282620004b560201b60201c565b620004165760016009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003bb6200052060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006012905090565b6200043a82826200052860201b620016971760201c565b5050565b600080829050601f815111156200048e57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040162000485919062001689565b60405180910390fd5b8051816200049c90620016ec565b60001c1760001b915050919050565b6000819050919050565b60006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6200053f8282620005e660201b620017241760201c565b6200054f6200075460201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166200057d6200077860201b60201c565b1115620005c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005b890620017d2565b60405180910390fd5b620005e060106200078260201b6200187b17836200079a60201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000659576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006509062001844565b60405180910390fd5b6200066d6000838362000abf60201b60201c565b806002600082825462000681919062001866565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620007349190620018c3565b60405180910390a3620007506000838362000adc60201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b6000818362000792919062001866565b905092915050565b60008060008580549050905060008082146200086a57620007c5876001840362000af960201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620008a6565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169350620008d984868860201c565b92506000821180156200090c5750620008f762000b0e60201b60201c565b65ffffffffffff16816000015163ffffffff16145b156200099457620009288362000b2b60201b620018911760201c565b6200093d886001850362000af960201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555062000ab5565b866040518060400160405280620009cd620009b462000b0e60201b60201c565b65ffffffffffff1662000b9960201b620018fc1760201c565b63ffffffff168152602001620009ee8662000b2b60201b620018911760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000ad783838362000bef60201b6200194f1760201c565b505050565b62000af483838362000cea60201b62001a091760201c565b505050565b60008260005281602060002001905092915050565b600062000b264362000d3a60201b62001a341760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000b91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b889062001956565b60405180910390fd5b819050919050565b600063ffffffff801682111562000be7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bde90620019ee565b60405180910390fd5b819050919050565b62000c0783838362000d9260201b62001a891760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141562000c645762000c4e8262000d9760201b60201c565b62000c5e62000dfa60201b60201c565b62000ce5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000cc15762000cab8362000d9760201b60201c565b62000cbb62000dfa60201b60201c565b62000ce4565b62000cd28362000d9760201b60201c565b62000ce38262000d9760201b60201c565b5b5b505050565b62000d0283838362000e1e60201b62001a8e1760201c565b62000d3562000d178462000e2360201b60201c565b62000d288462000e2360201b60201c565b8362000e8c60201b60201c565b505050565b600065ffffffffffff801682111562000d8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d819062001a86565b60405180910390fd5b819050919050565b505050565b62000df7600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000deb83620010af60201b60201c565b620010f760201b60201c565b50565b62000e1c600662000e106200077860201b60201c565b620010f760201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000ec95750600081115b15620010aa57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000fbc5760008062000f63600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200118360201b62001a9317856200079a60201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000fb192919062001aa8565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614620010a95760008062001050600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200078260201b6200187b17856200079a60201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516200109e92919062001aa8565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000620011096200119b60201b60201c565b9050806200112084600001620011b960201b60201c565b10156200117e5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000818362001193919062001ad5565b905092915050565b6000620011b460086200120d60201b62001aa91760201c565b905090565b60008082805490501415620011d2576000905062001208565b8160018380549050620011e6919062001ad5565b81548110620011fa57620011f962001b10565b5b906000526020600020015490505b919050565b600081600001549050919050565b828054620012299062001b6e565b90600052602060002090601f0160209004810192826200124d576000855562001299565b82601f106200126857805160ff191683800117855562001299565b8280016001018555821562001299579182015b82811115620012985782518255916020019190600101906200127b565b5b509050620012a89190620012ac565b5090565b5b80821115620012c7576000816000905550600101620012ad565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200135957808604811115620013315762001330620012cb565b5b6001851615620013415780820291505b80810290506200135185620012fa565b945062001311565b94509492505050565b60008262001374576001905062001447565b8162001384576000905062001447565b81600181146200139d5760028114620013a857620013de565b600191505062001447565b60ff841115620013bd57620013bc620012cb565b5b8360020a915084821115620013d757620013d6620012cb565b5b5062001447565b5060208310610133831016604e8410600b8410161715620014185782820a905083811115620014125762001411620012cb565b5b62001447565b62001427848484600162001307565b92509050818404811115620014415762001440620012cb565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062001472826200144e565b91506200147f8362001458565b9250620014ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001362565b905092915050565b6000620014c3826200144e565b9150620014d0836200144e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200150c576200150b620012cb565b5b828202905092915050565b6000819050919050565b6200152c8162001517565b82525050565b6200153d816200144e565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620015708262001543565b9050919050565b620015828162001563565b82525050565b600060a0820190506200159f600083018862001521565b620015ae602083018762001521565b620015bd604083018662001521565b620015cc606083018562001532565b620015db608083018462001577565b9695505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156200162157808201518184015260208101905062001604565b8381111562001631576000848401525b50505050565b6000601f19601f8301169050919050565b60006200165582620015e5565b620016618185620015f0565b93506200167381856020860162001601565b6200167e8162001637565b840191505092915050565b60006020820190508181036000830152620016a5818462001648565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620016d6825162001517565b80915050919050565b600082821b905092915050565b6000620016f982620016ad565b826200170584620016b8565b90506200171281620016c8565b925060208210156200175557620017507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620016df565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620017ba603083620015f0565b9150620017c7826200175c565b604082019050919050565b60006020820190508181036000830152620017ed81620017ab565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200182c601f83620015f0565b91506200183982620017f4565b602082019050919050565b600060208201905081810360008301526200185f816200181d565b9050919050565b600062001873826200144e565b915062001880836200144e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620018b857620018b7620012cb565b5b828201905092915050565b6000602082019050620018da600083018462001532565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006200193e602783620015f0565b91506200194b82620018e0565b604082019050919050565b6000602082019050818103600083015262001971816200192f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000620019d6602683620015f0565b9150620019e38262001978565b604082019050919050565b6000602082019050818103600083015262001a0981620019c7565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001a6e602683620015f0565b915062001a7b8262001a10565b604082019050919050565b6000602082019050818103600083015262001aa18162001a5f565b9050919050565b600060408201905062001abf600083018562001532565b62001ace602083018462001532565b9392505050565b600062001ae2826200144e565b915062001aef836200144e565b92508282101562001b055762001b04620012cb565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062001b8757607f821691505b6020821081141562001b9e5762001b9d62001b3f565b5b50919050565b60805160a05160c05160e05161010051610120516101405161575762001bff6000396000610e0701526000610dd301526000612e4701526000612e26015260006120f1015260006121470152600061217001526157576000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c806370a0823111610130578063981b24d0116100b8578063c3cda5201161007c578063c3cda5201461072f578063d505accf1461074b578063d547741f14610767578063dd62ed3e14610783578063f1127ed8146107b357610232565b8063981b24d0146106515780639ab24eb014610681578063a217fddf146106b1578063a457c2d7146106cf578063a9059cbb146106ff57610232565b80638e539e8c116100ff5780638e539e8c146105ab57806391d14854146105db57806391ddadf41461060b57806395d89b41146106295780639711715a1461064757610232565b806370a082311461050b57806379cc67901461053b5780637ecebe001461055757806384b0196e1461058757610232565b806336568abe116101be5780634ee2cd7e116101825780634ee2cd7e14610441578063587cde1e146104715780635c19a95c146104a15780636fcfff45146104bd5780637028e2cd146104ed57610232565b806336568abe1461038b57806339509351146103a75780633a46b1a8146103d757806342966c68146104075780634bf5d7e91461042357610232565b806323b872dd1161020557806323b872dd146102d3578063248a9ca3146103035780632f2ff15d14610333578063313ce5671461034f5780633644e5151461036d57610232565b806301ffc9a71461023757806306fdde0314610267578063095ea7b31461028557806318160ddd146102b5575b600080fd5b610251600480360381019061024c9190613b84565b6107e3565b60405161025e9190613bcc565b60405180910390f35b61026f61085d565b60405161027c9190613c80565b60405180910390f35b61029f600480360381019061029a9190613d36565b6108ef565b6040516102ac9190613bcc565b60405180910390f35b6102bd610912565b6040516102ca9190613d85565b60405180910390f35b6102ed60048036038101906102e89190613da0565b61091c565b6040516102fa9190613bcc565b60405180910390f35b61031d60048036038101906103189190613e29565b61094b565b60405161032a9190613e65565b60405180910390f35b61034d60048036038101906103489190613e80565b61096b565b005b61035761098c565b6040516103649190613edc565b60405180910390f35b610375610995565b6040516103829190613e65565b60405180910390f35b6103a560048036038101906103a09190613e80565b6109a4565b005b6103c160048036038101906103bc9190613d36565b610a27565b6040516103ce9190613bcc565b60405180910390f35b6103f160048036038101906103ec9190613d36565b610a5e565b6040516103fe9190613d85565b60405180910390f35b610421600480360381019061041c9190613ef7565b610b01565b005b61042b610b15565b6040516104389190613c80565b60405180910390f35b61045b60048036038101906104569190613d36565b610ba3565b6040516104689190613d85565b60405180910390f35b61048b60048036038101906104869190613f24565b610c13565b6040516104989190613f60565b60405180910390f35b6104bb60048036038101906104b69190613f24565b610c7c565b005b6104d760048036038101906104d29190613f24565b610c90565b6040516104e49190613f9a565b60405180910390f35b6104f5610ce4565b6040516105029190613e65565b60405180910390f35b61052560048036038101906105209190613f24565b610d08565b6040516105329190613d85565b60405180910390f35b61055560048036038101906105509190613d36565b610d50565b005b610571600480360381019061056c9190613f24565b610d70565b60405161057e9190613d85565b60405180910390f35b61058f610dc0565b6040516105a297969594939291906140ae565b60405180910390f35b6105c560048036038101906105c09190613ef7565b610ec2565b6040516105d29190613d85565b60405180910390f35b6105f560048036038101906105f09190613e80565b610f27565b6040516106029190613bcc565b60405180910390f35b610613610f92565b6040516106209190614153565b60405180910390f35b610631610fa2565b60405161063e9190613c80565b60405180910390f35b61064f611034565b005b61066b60048036038101906106669190613ef7565b61106a565b6040516106789190613d85565b60405180910390f35b61069b60048036038101906106969190613f24565b61109b565b6040516106a89190613d85565b60405180910390f35b6106b96111a3565b6040516106c69190613e65565b60405180910390f35b6106e960048036038101906106e49190613d36565b6111aa565b6040516106f69190613bcc565b60405180910390f35b61071960048036038101906107149190613d36565b611221565b6040516107269190613bcc565b60405180910390f35b6107496004803603810190610744919061419a565b611244565b005b61076560048036038101906107609190614227565b611348565b005b610781600480360381019061077c9190613e80565b61148a565b005b61079d600480360381019061079891906142c9565b6114ab565b6040516107aa9190613d85565b60405180910390f35b6107cd60048036038101906107c89190614335565b611532565b6040516107da91906143ea565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610856575061085582611ab7565b5b9050919050565b60606003805461086c90614434565b80601f016020809104026020016040519081016040528092919081815260200182805461089890614434565b80156108e55780601f106108ba576101008083540402835291602001916108e5565b820191906000526020600020905b8154815290600101906020018083116108c857829003601f168201915b5050505050905090565b6000806108fa611b21565b9050610907818585611b29565b600191505092915050565b6000600254905090565b600080610927611b21565b9050610934858285611cf4565b61093f858585611d80565b60019150509392505050565b600060096000838152602001908152602001600020600101549050919050565b6109748261094b565b61097d81611ff8565b610987838361200c565b505050565b60006012905090565b600061099f6120ed565b905090565b6109ac611b21565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a10906144d8565b60405180910390fd5b610a2382826121a4565b5050565b600080610a32611b21565b9050610a53818585610a4485896114ab565b610a4e9190614527565b611b29565b600191505092915050565b6000610a68610f92565b65ffffffffffff168210610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa8906145c9565b60405180910390fd5b610af9600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612286565b905092915050565b610b12610b0c611b21565b826123ce565b50565b606043610b20610f92565b65ffffffffffff1614610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f90614635565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000806000610bf084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206123dc565b9150915081610c0757610c0285610d08565b610c09565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610c8d610c87611b21565b826124d2565b50565b6000610cdd600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506118fc565b9050919050565b7f5fdbd35e8da83ee755d5e62a539e5ed7f47126abede0b8b10f9ea43dc6eed07f81565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d6282610d5c611b21565b83611cf4565b610d6c82826123ce565b5050565b6000610db9600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611aa9565b9050919050565b600060608060008060006060610e00600a7f00000000000000000000000000000000000000000000000000000000000000006125ec90919063ffffffff16565b610e34600b7f00000000000000000000000000000000000000000000000000000000000000006125ec90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610e5557610e54614655565b5b604051908082528060200260200182016040528015610e835781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610ecc610f92565b65ffffffffffff168210610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c906145c9565b60405180910390fd5b610f20601083612286565b9050919050565b60006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610f9d43611a34565b905090565b606060048054610fb190614434565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdd90614434565b801561102a5780601f10610fff5761010080835404028352916020019161102a565b820191906000526020600020905b81548152906001019060200180831161100d57829003601f168201915b5050505050905090565b7f5fdbd35e8da83ee755d5e62a539e5ed7f47126abede0b8b10f9ea43dc6eed07f61105e81611ff8565b61106661269c565b5050565b600080600061107a8460066123dc565b91509150816110905761108b610912565b611092565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461117a57600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061113f5761113e614684565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661117d565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b6000801b81565b6000806111b5611b21565b905060006111c382866114ab565b905083811015611208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ff90614725565b60405180910390fd5b6112158286868403611b29565b60019250505092915050565b60008061122c611b21565b9050611239818585611d80565b600191505092915050565b83421115611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90614791565b60405180910390fd5b60006112e96112e17fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016112c694939291906147b1565b604051602081830303815290604052805190602001206126f2565b85858561270c565b90506112f481612737565b8614611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90614842565b60405180910390fd5b61133f81886124d2565b50505050505050565b8342111561138b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611382906148ae565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886113ba8c612737565b896040516020016113d0969594939291906148ce565b60405160208183030381529060405280519060200120905060006113f3826126f2565b905060006114038287878761270c565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146a9061497b565b60405180910390fd5b61147e8a8a8a611b29565b50505050505050505050565b6114938261094b565b61149c81611ff8565b6114a683836121a4565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61153a613a46565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061159157611590614684565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b600060208351101561165e5761165783612795565b9050611687565b826116688361168d565b600001908051906020019061167e929190613a84565b5060ff60001b90505b92915050565b6000819050919050565b6116a18282611724565b6116a96127fd565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166116cf610912565b1115611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790614a0d565b60405180910390fd5b61171e601061187b83612821565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178b90614a79565b60405180910390fd5b6117a060008383612afc565b80600260008282546117b29190614527565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118639190613d85565b60405180910390a361187760008383612b0c565b5050565b600081836118899190614527565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb90614b0b565b60405180910390fd5b819050919050565b600063ffffffff8016821115611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e90614b9d565b60405180910390fd5b819050919050565b61195a838383611a89565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119a55761199882612b1c565b6119a0612b6f565b611a04565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119f0576119e383612b1c565b6119eb612b6f565b611a03565b6119f983612b1c565b611a0282612b1c565b5b5b505050565b611a14838383611a8e565b611a2f611a2084610c13565b611a2984610c13565b83612b83565b505050565b600065ffffffffffff8016821115611a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7890614c2f565b60405180910390fd5b819050919050565b505050565b505050565b60008183611aa19190614c4f565b905092915050565b600081600001549050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9090614cf5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0090614d87565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ce79190613d85565b60405180910390a3505050565b6000611d0084846114ab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611d7a5781811015611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390614df3565b60405180910390fd5b611d798484848403611b29565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de790614e85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790614f17565b60405180910390fd5b611e6b838383612afc565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890614fa9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fdf9190613d85565b60405180910390a3611ff2848484612b0c565b50505050565b61200981612004611b21565b612d7c565b50565b6120168282610f27565b6120e95760016009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061208e611b21565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561216957507f000000000000000000000000000000000000000000000000000000000000000046145b15612196577f000000000000000000000000000000000000000000000000000000000000000090506121a1565b61219e612e01565b90505b90565b6121ae8282610f27565b156122825760006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612227611b21565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000808380549050905060008082905060058311156122fc5760006122aa84612e97565b846122b59190614c4f565b9050856122c28883612f91565b60000160009054906101000a900463ffffffff1663ffffffff1611156122ea578091506122fa565b6001816122f79190614527565b92505b505b5b8082101561235c5760006123118383612fa6565b90508561231e8883612f91565b60000160009054906101000a900463ffffffff1663ffffffff16111561234657809150612356565b6001816123539190614527565b92505b506122fd565b600081146123a2576123718660018303612f91565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166123a5565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6123d88282612fcc565b5050565b60008060008411612422576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241990615015565b60405180910390fd5b61242a612fea565b84111561246c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246390615081565b60405180910390fd5b60006124848585600001612ffb90919063ffffffff16565b905083600001805490508114156124a25760008092509250506124cb565b60018460010182815481106124ba576124b9614684565b5b906000526020600020015492509250505b9250929050565b60006124dd83610c13565b905060006124ea84610d08565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125e6828483612b83565b50505050565b606060ff60001b831461260957612602836130b5565b9050612696565b81805461261590614434565b80601f016020809104026020016040519081016040528092919081815260200182805461264190614434565b801561268e5780601f106126635761010080835404028352916020019161268e565b820191906000526020600020905b81548152906001019060200180831161267157829003601f168201915b505050505090505b92915050565b60006126a86008613129565b60006126b2612fea565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516126e39190613d85565b60405180910390a18091505090565b60006127056126ff6120ed565b8361313f565b9050919050565b600080600061271d87878787613180565b9150915061272a81613263565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061278481611aa9565b915061278f81613129565b50919050565b600080829050601f815111156127e257826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016127d99190613c80565b60405180910390fd5b8051816127ee906150de565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146128e7576128438760018403612f91565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612923565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061295884868863ffffffff16565b9250600082118015612982575061296d610f92565b65ffffffffffff16816000015163ffffffff16145b156129f35761299083611891565b61299d8860018503612f91565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612af2565b866040518060400160405280612a17612a0a610f92565b65ffffffffffff166118fc565b63ffffffff168152602001612a2b86611891565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b612b0783838361194f565b505050565b612b17838383611a09565b505050565b612b6c600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612b6783610d08565b6133d1565b50565b612b816006612b7c610912565b6133d1565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612bbf5750600081115b15612d7757600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612c9d57600080612c46600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a9385612821565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612c92929190615145565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612d7657600080612d1f600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061187b85612821565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612d6b929190615145565b60405180910390a250505b5b505050565b612d868282610f27565b612dfd57612d938161344c565b612da18360001c6020613479565b604051602001612db2929190615242565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612df49190613c80565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612e7c95949392919061527c565b60405160208183030381529060405280519060200120905090565b600080821415612eaa5760009050612f8c565b60006001612eb7846136b5565b901c6001901b90506001818481612ed157612ed06152cf565b5b048201901c90506001818481612eea57612ee96152cf565b5b048201901c90506001818481612f0357612f026152cf565b5b048201901c90506001818481612f1c57612f1b6152cf565b5b048201901c90506001818481612f3557612f346152cf565b5b048201901c90506001818481612f4e57612f4d6152cf565b5b048201901c90506001818481612f6757612f666152cf565b5b048201901c9050612f8881828581612f8257612f816152cf565b5b04613796565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612fb791906152fe565b828416612fc49190614527565b905092915050565b612fd682826137af565b612fe46010611a9383612821565b50505050565b6000612ff66008611aa9565b905090565b6000808380549050141561301257600090506130af565b600080848054905090505b808210156130665760006130318383612fa6565b90508461303e878361397d565b60000154111561305057809150613060565b60018161305d9190614527565b92505b5061301d565b60008211801561308e575083613088866001856130839190614c4f565b61397d565b60000154145b156130a9576001826130a09190614c4f565b925050506130af565b81925050505b92915050565b606060006130c28361399f565b90506000602067ffffffffffffffff8111156130e1576130e0614655565b5b6040519080825280601f01601f1916602001820160405280156131135781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156131bb57600060039150915061325a565b6000600187878787604051600081526020016040526040516131e0949392919061532f565b6020604051602081039080840390855afa158015613202573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132515760006001925092505061325a565b80600092509250505b94509492505050565b6000600481111561327757613276615374565b5b81600481111561328a57613289615374565b5b1415613295576133ce565b600160048111156132a9576132a8615374565b5b8160048111156132bc576132bb615374565b5b14156132fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f4906153ef565b60405180910390fd5b6002600481111561331157613310615374565b5b81600481111561332457613323615374565b5b1415613365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335c9061545b565b60405180910390fd5b6003600481111561337957613378615374565b5b81600481111561338c5761338b615374565b5b14156133cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133c4906154ed565b60405180910390fd5b5b50565b60006133db612fea565b9050806133ea846000016139ef565b10156134475782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60606134728273ffffffffffffffffffffffffffffffffffffffff16601460ff16613479565b9050919050565b60606000600283600261348c919061550d565b6134969190614527565b67ffffffffffffffff8111156134af576134ae614655565b5b6040519080825280601f01601f1916602001820160405280156134e15781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061351957613518614684565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061357d5761357c614684565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026135bd919061550d565b6135c79190614527565b90505b6001811115613667577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061360957613608614684565b5b1a60f81b8282815181106136205761361f614684565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061366090615567565b90506135ca565b50600084146136ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136a2906155dd565b60405180910390fd5b8091505092915050565b600080600090506000608084901c11156136d757608083901c92506080810190505b6000604084901c11156136f257604083901c92506040810190505b6000602084901c111561370d57602083901c92506020810190505b6000601084901c111561372857601083901c92506010810190505b6000600884901c111561374357600883901c92506008810190505b6000600484901c111561375e57600483901c92506004810190505b6000600284901c111561377957600283901c92506002810190505b6000600184901c111561378d576001810190505b80915050919050565b60008183106137a557816137a7565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561381f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138169061566f565b60405180910390fd5b61382b82600083612afc565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156138b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138a890615701565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516139649190613d85565b60405180910390a361397883600084612b0c565b505050565b6000808360005282602060002001905061399681613a3c565b91505092915050565b60008060ff8360001c169050601f8111156139e6576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b60008082805490501415613a065760009050613a37565b8160018380549050613a189190614c4f565b81548110613a2957613a28614684565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b828054613a9090614434565b90600052602060002090601f016020900481019282613ab25760008555613af9565b82601f10613acb57805160ff1916838001178555613af9565b82800160010185558215613af9579182015b82811115613af8578251825591602001919060010190613add565b5b509050613b069190613b0a565b5090565b5b80821115613b23576000816000905550600101613b0b565b5090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613b6181613b2c565b8114613b6c57600080fd5b50565b600081359050613b7e81613b58565b92915050565b600060208284031215613b9a57613b99613b27565b5b6000613ba884828501613b6f565b91505092915050565b60008115159050919050565b613bc681613bb1565b82525050565b6000602082019050613be16000830184613bbd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613c21578082015181840152602081019050613c06565b83811115613c30576000848401525b50505050565b6000601f19601f8301169050919050565b6000613c5282613be7565b613c5c8185613bf2565b9350613c6c818560208601613c03565b613c7581613c36565b840191505092915050565b60006020820190508181036000830152613c9a8184613c47565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613ccd82613ca2565b9050919050565b613cdd81613cc2565b8114613ce857600080fd5b50565b600081359050613cfa81613cd4565b92915050565b6000819050919050565b613d1381613d00565b8114613d1e57600080fd5b50565b600081359050613d3081613d0a565b92915050565b60008060408385031215613d4d57613d4c613b27565b5b6000613d5b85828601613ceb565b9250506020613d6c85828601613d21565b9150509250929050565b613d7f81613d00565b82525050565b6000602082019050613d9a6000830184613d76565b92915050565b600080600060608486031215613db957613db8613b27565b5b6000613dc786828701613ceb565b9350506020613dd886828701613ceb565b9250506040613de986828701613d21565b9150509250925092565b6000819050919050565b613e0681613df3565b8114613e1157600080fd5b50565b600081359050613e2381613dfd565b92915050565b600060208284031215613e3f57613e3e613b27565b5b6000613e4d84828501613e14565b91505092915050565b613e5f81613df3565b82525050565b6000602082019050613e7a6000830184613e56565b92915050565b60008060408385031215613e9757613e96613b27565b5b6000613ea585828601613e14565b9250506020613eb685828601613ceb565b9150509250929050565b600060ff82169050919050565b613ed681613ec0565b82525050565b6000602082019050613ef16000830184613ecd565b92915050565b600060208284031215613f0d57613f0c613b27565b5b6000613f1b84828501613d21565b91505092915050565b600060208284031215613f3a57613f39613b27565b5b6000613f4884828501613ceb565b91505092915050565b613f5a81613cc2565b82525050565b6000602082019050613f756000830184613f51565b92915050565b600063ffffffff82169050919050565b613f9481613f7b565b82525050565b6000602082019050613faf6000830184613f8b565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613fea81613fb5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61402581613d00565b82525050565b6000614037838361401c565b60208301905092915050565b6000602082019050919050565b600061405b82613ff0565b6140658185613ffb565b93506140708361400c565b8060005b838110156140a1578151614088888261402b565b975061409383614043565b925050600181019050614074565b5085935050505092915050565b600060e0820190506140c3600083018a613fe1565b81810360208301526140d58189613c47565b905081810360408301526140e98188613c47565b90506140f86060830187613d76565b6141056080830186613f51565b61411260a0830185613e56565b81810360c08301526141248184614050565b905098975050505050505050565b600065ffffffffffff82169050919050565b61414d81614132565b82525050565b60006020820190506141686000830184614144565b92915050565b61417781613ec0565b811461418257600080fd5b50565b6000813590506141948161416e565b92915050565b60008060008060008060c087890312156141b7576141b6613b27565b5b60006141c589828a01613ceb565b96505060206141d689828a01613d21565b95505060406141e789828a01613d21565b94505060606141f889828a01614185565b935050608061420989828a01613e14565b92505060a061421a89828a01613e14565b9150509295509295509295565b600080600080600080600060e0888a03121561424657614245613b27565b5b60006142548a828b01613ceb565b97505060206142658a828b01613ceb565b96505060406142768a828b01613d21565b95505060606142878a828b01613d21565b94505060806142988a828b01614185565b93505060a06142a98a828b01613e14565b92505060c06142ba8a828b01613e14565b91505092959891949750929550565b600080604083850312156142e0576142df613b27565b5b60006142ee85828601613ceb565b92505060206142ff85828601613ceb565b9150509250929050565b61431281613f7b565b811461431d57600080fd5b50565b60008135905061432f81614309565b92915050565b6000806040838503121561434c5761434b613b27565b5b600061435a85828601613ceb565b925050602061436b85828601614320565b9150509250929050565b61437e81613f7b565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6143b581614384565b82525050565b6040820160008201516143d16000850182614375565b5060208201516143e460208501826143ac565b50505050565b60006040820190506143ff60008301846143bb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061444c57607f821691505b602082108114156144605761445f614405565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006144c2602f83613bf2565b91506144cd82614466565b604082019050919050565b600060208201905081810360008301526144f1816144b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061453282613d00565b915061453d83613d00565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614572576145716144f8565b5b828201905092915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b60006145b3601983613bf2565b91506145be8261457d565b602082019050919050565b600060208201905081810360008301526145e2816145a6565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b600061461f601d83613bf2565b915061462a826145e9565b602082019050919050565b6000602082019050818103600083015261464e81614612565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061470f602583613bf2565b915061471a826146b3565b604082019050919050565b6000602082019050818103600083015261473e81614702565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b600061477b601d83613bf2565b915061478682614745565b602082019050919050565b600060208201905081810360008301526147aa8161476e565b9050919050565b60006080820190506147c66000830187613e56565b6147d36020830186613f51565b6147e06040830185613d76565b6147ed6060830184613d76565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b600061482c601983613bf2565b9150614837826147f6565b602082019050919050565b6000602082019050818103600083015261485b8161481f565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000614898601d83613bf2565b91506148a382614862565b602082019050919050565b600060208201905081810360008301526148c78161488b565b9050919050565b600060c0820190506148e36000830189613e56565b6148f06020830188613f51565b6148fd6040830187613f51565b61490a6060830186613d76565b6149176080830185613d76565b61492460a0830184613d76565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614965601e83613bf2565b91506149708261492f565b602082019050919050565b6000602082019050818103600083015261499481614958565b9050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006149f7603083613bf2565b9150614a028261499b565b604082019050919050565b60006020820190508181036000830152614a26816149ea565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614a63601f83613bf2565b9150614a6e82614a2d565b602082019050919050565b60006020820190508181036000830152614a9281614a56565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614af5602783613bf2565b9150614b0082614a99565b604082019050919050565b60006020820190508181036000830152614b2481614ae8565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614b87602683613bf2565b9150614b9282614b2b565b604082019050919050565b60006020820190508181036000830152614bb681614b7a565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614c19602683613bf2565b9150614c2482614bbd565b604082019050919050565b60006020820190508181036000830152614c4881614c0c565b9050919050565b6000614c5a82613d00565b9150614c6583613d00565b925082821015614c7857614c776144f8565b5b828203905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614cdf602483613bf2565b9150614cea82614c83565b604082019050919050565b60006020820190508181036000830152614d0e81614cd2565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d71602283613bf2565b9150614d7c82614d15565b604082019050919050565b60006020820190508181036000830152614da081614d64565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614ddd601d83613bf2565b9150614de882614da7565b602082019050919050565b60006020820190508181036000830152614e0c81614dd0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614e6f602583613bf2565b9150614e7a82614e13565b604082019050919050565b60006020820190508181036000830152614e9e81614e62565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614f01602383613bf2565b9150614f0c82614ea5565b604082019050919050565b60006020820190508181036000830152614f3081614ef4565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614f93602683613bf2565b9150614f9e82614f37565b604082019050919050565b60006020820190508181036000830152614fc281614f86565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b6000614fff601683613bf2565b915061500a82614fc9565b602082019050919050565b6000602082019050818103600083015261502e81614ff2565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b600061506b601d83613bf2565b915061507682615035565b602082019050919050565b6000602082019050818103600083015261509a8161505e565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006150c88251613df3565b80915050919050565b600082821b905092915050565b60006150e9826150a1565b826150f3846150ac565b90506150fe816150bc565b9250602082101561513e576151397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026150d1565b831692505b5050919050565b600060408201905061515a6000830185613d76565b6151676020830184613d76565b9392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006151af60178361516e565b91506151ba82615179565b601782019050919050565b60006151d082613be7565b6151da818561516e565b93506151ea818560208601613c03565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061522c60118361516e565b9150615237826151f6565b601182019050919050565b600061524d826151a2565b915061525982856151c5565b91506152648261521f565b915061527082846151c5565b91508190509392505050565b600060a0820190506152916000830188613e56565b61529e6020830187613e56565b6152ab6040830186613e56565b6152b86060830185613d76565b6152c56080830184613f51565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061530982613d00565b915061531483613d00565b925082615324576153236152cf565b5b828204905092915050565b60006080820190506153446000830187613e56565b6153516020830186613ecd565b61535e6040830185613e56565b61536b6060830184613e56565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006153d9601883613bf2565b91506153e4826153a3565b602082019050919050565b60006020820190508181036000830152615408816153cc565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615445601f83613bf2565b91506154508261540f565b602082019050919050565b6000602082019050818103600083015261547481615438565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006154d7602283613bf2565b91506154e28261547b565b604082019050919050565b60006020820190508181036000830152615506816154ca565b9050919050565b600061551882613d00565b915061552383613d00565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561555c5761555b6144f8565b5b828202905092915050565b600061557282613d00565b91506000821415615586576155856144f8565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006155c7602083613bf2565b91506155d282615591565b602082019050919050565b600060208201905081810360008301526155f6816155ba565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000615659602183613bf2565b9150615664826155fd565b604082019050919050565b600060208201905081810360008301526156888161564c565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006156eb602283613bf2565b91506156f68261568f565b604082019050919050565b6000602082019050818103600083015261571a816156de565b905091905056fea2646970667358221220aa3baa134cf53e06ca73224bae17571aea30a90a4897d82da3bc838102d8545364736f6c63430008090033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106102325760003560e01c806370a0823111610130578063981b24d0116100b8578063c3cda5201161007c578063c3cda5201461072f578063d505accf1461074b578063d547741f14610767578063dd62ed3e14610783578063f1127ed8146107b357610232565b8063981b24d0146106515780639ab24eb014610681578063a217fddf146106b1578063a457c2d7146106cf578063a9059cbb146106ff57610232565b80638e539e8c116100ff5780638e539e8c146105ab57806391d14854146105db57806391ddadf41461060b57806395d89b41146106295780639711715a1461064757610232565b806370a082311461050b57806379cc67901461053b5780637ecebe001461055757806384b0196e1461058757610232565b806336568abe116101be5780634ee2cd7e116101825780634ee2cd7e14610441578063587cde1e146104715780635c19a95c146104a15780636fcfff45146104bd5780637028e2cd146104ed57610232565b806336568abe1461038b57806339509351146103a75780633a46b1a8146103d757806342966c68146104075780634bf5d7e91461042357610232565b806323b872dd1161020557806323b872dd146102d3578063248a9ca3146103035780632f2ff15d14610333578063313ce5671461034f5780633644e5151461036d57610232565b806301ffc9a71461023757806306fdde0314610267578063095ea7b31461028557806318160ddd146102b5575b600080fd5b610251600480360381019061024c9190613b84565b6107e3565b60405161025e9190613bcc565b60405180910390f35b61026f61085d565b60405161027c9190613c80565b60405180910390f35b61029f600480360381019061029a9190613d36565b6108ef565b6040516102ac9190613bcc565b60405180910390f35b6102bd610912565b6040516102ca9190613d85565b60405180910390f35b6102ed60048036038101906102e89190613da0565b61091c565b6040516102fa9190613bcc565b60405180910390f35b61031d60048036038101906103189190613e29565b61094b565b60405161032a9190613e65565b60405180910390f35b61034d60048036038101906103489190613e80565b61096b565b005b61035761098c565b6040516103649190613edc565b60405180910390f35b610375610995565b6040516103829190613e65565b60405180910390f35b6103a560048036038101906103a09190613e80565b6109a4565b005b6103c160048036038101906103bc9190613d36565b610a27565b6040516103ce9190613bcc565b60405180910390f35b6103f160048036038101906103ec9190613d36565b610a5e565b6040516103fe9190613d85565b60405180910390f35b610421600480360381019061041c9190613ef7565b610b01565b005b61042b610b15565b6040516104389190613c80565b60405180910390f35b61045b60048036038101906104569190613d36565b610ba3565b6040516104689190613d85565b60405180910390f35b61048b60048036038101906104869190613f24565b610c13565b6040516104989190613f60565b60405180910390f35b6104bb60048036038101906104b69190613f24565b610c7c565b005b6104d760048036038101906104d29190613f24565b610c90565b6040516104e49190613f9a565b60405180910390f35b6104f5610ce4565b6040516105029190613e65565b60405180910390f35b61052560048036038101906105209190613f24565b610d08565b6040516105329190613d85565b60405180910390f35b61055560048036038101906105509190613d36565b610d50565b005b610571600480360381019061056c9190613f24565b610d70565b60405161057e9190613d85565b60405180910390f35b61058f610dc0565b6040516105a297969594939291906140ae565b60405180910390f35b6105c560048036038101906105c09190613ef7565b610ec2565b6040516105d29190613d85565b60405180910390f35b6105f560048036038101906105f09190613e80565b610f27565b6040516106029190613bcc565b60405180910390f35b610613610f92565b6040516106209190614153565b60405180910390f35b610631610fa2565b60405161063e9190613c80565b60405180910390f35b61064f611034565b005b61066b60048036038101906106669190613ef7565b61106a565b6040516106789190613d85565b60405180910390f35b61069b60048036038101906106969190613f24565b61109b565b6040516106a89190613d85565b60405180910390f35b6106b96111a3565b6040516106c69190613e65565b60405180910390f35b6106e960048036038101906106e49190613d36565b6111aa565b6040516106f69190613bcc565b60405180910390f35b61071960048036038101906107149190613d36565b611221565b6040516107269190613bcc565b60405180910390f35b6107496004803603810190610744919061419a565b611244565b005b61076560048036038101906107609190614227565b611348565b005b610781600480360381019061077c9190613e80565b61148a565b005b61079d600480360381019061079891906142c9565b6114ab565b6040516107aa9190613d85565b60405180910390f35b6107cd60048036038101906107c89190614335565b611532565b6040516107da91906143ea565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610856575061085582611ab7565b5b9050919050565b60606003805461086c90614434565b80601f016020809104026020016040519081016040528092919081815260200182805461089890614434565b80156108e55780601f106108ba576101008083540402835291602001916108e5565b820191906000526020600020905b8154815290600101906020018083116108c857829003601f168201915b5050505050905090565b6000806108fa611b21565b9050610907818585611b29565b600191505092915050565b6000600254905090565b600080610927611b21565b9050610934858285611cf4565b61093f858585611d80565b60019150509392505050565b600060096000838152602001908152602001600020600101549050919050565b6109748261094b565b61097d81611ff8565b610987838361200c565b505050565b60006012905090565b600061099f6120ed565b905090565b6109ac611b21565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a10906144d8565b60405180910390fd5b610a2382826121a4565b5050565b600080610a32611b21565b9050610a53818585610a4485896114ab565b610a4e9190614527565b611b29565b600191505092915050565b6000610a68610f92565b65ffffffffffff168210610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa8906145c9565b60405180910390fd5b610af9600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612286565b905092915050565b610b12610b0c611b21565b826123ce565b50565b606043610b20610f92565b65ffffffffffff1614610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f90614635565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000806000610bf084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206123dc565b9150915081610c0757610c0285610d08565b610c09565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610c8d610c87611b21565b826124d2565b50565b6000610cdd600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506118fc565b9050919050565b7f5fdbd35e8da83ee755d5e62a539e5ed7f47126abede0b8b10f9ea43dc6eed07f81565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d6282610d5c611b21565b83611cf4565b610d6c82826123ce565b5050565b6000610db9600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611aa9565b9050919050565b600060608060008060006060610e00600a7f53776561740000000000000000000000000000000000000000000000000000056125ec90919063ffffffff16565b610e34600b7f31000000000000000000000000000000000000000000000000000000000000016125ec90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610e5557610e54614655565b5b604051908082528060200260200182016040528015610e835781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610ecc610f92565b65ffffffffffff168210610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c906145c9565b60405180910390fd5b610f20601083612286565b9050919050565b60006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610f9d43611a34565b905090565b606060048054610fb190614434565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdd90614434565b801561102a5780601f10610fff5761010080835404028352916020019161102a565b820191906000526020600020905b81548152906001019060200180831161100d57829003601f168201915b5050505050905090565b7f5fdbd35e8da83ee755d5e62a539e5ed7f47126abede0b8b10f9ea43dc6eed07f61105e81611ff8565b61106661269c565b5050565b600080600061107a8460066123dc565b91509150816110905761108b610912565b611092565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461117a57600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061113f5761113e614684565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661117d565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b6000801b81565b6000806111b5611b21565b905060006111c382866114ab565b905083811015611208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ff90614725565b60405180910390fd5b6112158286868403611b29565b60019250505092915050565b60008061122c611b21565b9050611239818585611d80565b600191505092915050565b83421115611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90614791565b60405180910390fd5b60006112e96112e17fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016112c694939291906147b1565b604051602081830303815290604052805190602001206126f2565b85858561270c565b90506112f481612737565b8614611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c90614842565b60405180910390fd5b61133f81886124d2565b50505050505050565b8342111561138b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611382906148ae565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886113ba8c612737565b896040516020016113d0969594939291906148ce565b60405160208183030381529060405280519060200120905060006113f3826126f2565b905060006114038287878761270c565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611473576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146a9061497b565b60405180910390fd5b61147e8a8a8a611b29565b50505050505050505050565b6114938261094b565b61149c81611ff8565b6114a683836121a4565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61153a613a46565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061159157611590614684565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b600060208351101561165e5761165783612795565b9050611687565b826116688361168d565b600001908051906020019061167e929190613a84565b5060ff60001b90505b92915050565b6000819050919050565b6116a18282611724565b6116a96127fd565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166116cf610912565b1115611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790614a0d565b60405180910390fd5b61171e601061187b83612821565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178b90614a79565b60405180910390fd5b6117a060008383612afc565b80600260008282546117b29190614527565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118639190613d85565b60405180910390a361187760008383612b0c565b5050565b600081836118899190614527565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb90614b0b565b60405180910390fd5b819050919050565b600063ffffffff8016821115611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e90614b9d565b60405180910390fd5b819050919050565b61195a838383611a89565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119a55761199882612b1c565b6119a0612b6f565b611a04565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119f0576119e383612b1c565b6119eb612b6f565b611a03565b6119f983612b1c565b611a0282612b1c565b5b5b505050565b611a14838383611a8e565b611a2f611a2084610c13565b611a2984610c13565b83612b83565b505050565b600065ffffffffffff8016821115611a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7890614c2f565b60405180910390fd5b819050919050565b505050565b505050565b60008183611aa19190614c4f565b905092915050565b600081600001549050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9090614cf5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0090614d87565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ce79190613d85565b60405180910390a3505050565b6000611d0084846114ab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611d7a5781811015611d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6390614df3565b60405180910390fd5b611d798484848403611b29565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de790614e85565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790614f17565b60405180910390fd5b611e6b838383612afc565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee890614fa9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fdf9190613d85565b60405180910390a3611ff2848484612b0c565b50505050565b61200981612004611b21565b612d7c565b50565b6120168282610f27565b6120e95760016009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061208e611b21565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60007f00000000000000000000000019166de9510da3285e0cb92de11e77fd7a6dfff773ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561216957507f0000000000000000000000000000000000000000000000000000000000000a4146145b15612196577f0caddfd3db4b8ce6c74b07d91cdd8be7b76015953864b7c361ef2130ab32caf890506121a1565b61219e612e01565b90505b90565b6121ae8282610f27565b156122825760006009600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612227611b21565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000808380549050905060008082905060058311156122fc5760006122aa84612e97565b846122b59190614c4f565b9050856122c28883612f91565b60000160009054906101000a900463ffffffff1663ffffffff1611156122ea578091506122fa565b6001816122f79190614527565b92505b505b5b8082101561235c5760006123118383612fa6565b90508561231e8883612f91565b60000160009054906101000a900463ffffffff1663ffffffff16111561234657809150612356565b6001816123539190614527565b92505b506122fd565b600081146123a2576123718660018303612f91565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166123a5565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6123d88282612fcc565b5050565b60008060008411612422576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241990615015565b60405180910390fd5b61242a612fea565b84111561246c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246390615081565b60405180910390fd5b60006124848585600001612ffb90919063ffffffff16565b905083600001805490508114156124a25760008092509250506124cb565b60018460010182815481106124ba576124b9614684565b5b906000526020600020015492509250505b9250929050565b60006124dd83610c13565b905060006124ea84610d08565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125e6828483612b83565b50505050565b606060ff60001b831461260957612602836130b5565b9050612696565b81805461261590614434565b80601f016020809104026020016040519081016040528092919081815260200182805461264190614434565b801561268e5780601f106126635761010080835404028352916020019161268e565b820191906000526020600020905b81548152906001019060200180831161267157829003601f168201915b505050505090505b92915050565b60006126a86008613129565b60006126b2612fea565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516126e39190613d85565b60405180910390a18091505090565b60006127056126ff6120ed565b8361313f565b9050919050565b600080600061271d87878787613180565b9150915061272a81613263565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061278481611aa9565b915061278f81613129565b50919050565b600080829050601f815111156127e257826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016127d99190613c80565b60405180910390fd5b8051816127ee906150de565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146128e7576128438760018403612f91565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612923565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061295884868863ffffffff16565b9250600082118015612982575061296d610f92565b65ffffffffffff16816000015163ffffffff16145b156129f35761299083611891565b61299d8860018503612f91565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612af2565b866040518060400160405280612a17612a0a610f92565b65ffffffffffff166118fc565b63ffffffff168152602001612a2b86611891565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b612b0783838361194f565b505050565b612b17838383611a09565b505050565b612b6c600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612b6783610d08565b6133d1565b50565b612b816006612b7c610912565b6133d1565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612bbf5750600081115b15612d7757600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612c9d57600080612c46600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a9385612821565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612c92929190615145565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612d7657600080612d1f600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061187b85612821565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612d6b929190615145565b60405180910390a250505b5b505050565b612d868282610f27565b612dfd57612d938161344c565b612da18360001c6020613479565b604051602001612db2929190615242565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612df49190613c80565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f5ad0a238eb3f2bf7a741242190a6cf46e7c941707b9a8d85851f231dc6d616cc7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001612e7c95949392919061527c565b60405160208183030381529060405280519060200120905090565b600080821415612eaa5760009050612f8c565b60006001612eb7846136b5565b901c6001901b90506001818481612ed157612ed06152cf565b5b048201901c90506001818481612eea57612ee96152cf565b5b048201901c90506001818481612f0357612f026152cf565b5b048201901c90506001818481612f1c57612f1b6152cf565b5b048201901c90506001818481612f3557612f346152cf565b5b048201901c90506001818481612f4e57612f4d6152cf565b5b048201901c90506001818481612f6757612f666152cf565b5b048201901c9050612f8881828581612f8257612f816152cf565b5b04613796565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612fb791906152fe565b828416612fc49190614527565b905092915050565b612fd682826137af565b612fe46010611a9383612821565b50505050565b6000612ff66008611aa9565b905090565b6000808380549050141561301257600090506130af565b600080848054905090505b808210156130665760006130318383612fa6565b90508461303e878361397d565b60000154111561305057809150613060565b60018161305d9190614527565b92505b5061301d565b60008211801561308e575083613088866001856130839190614c4f565b61397d565b60000154145b156130a9576001826130a09190614c4f565b925050506130af565b81925050505b92915050565b606060006130c28361399f565b90506000602067ffffffffffffffff8111156130e1576130e0614655565b5b6040519080825280601f01601f1916602001820160405280156131135781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156131bb57600060039150915061325a565b6000600187878787604051600081526020016040526040516131e0949392919061532f565b6020604051602081039080840390855afa158015613202573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132515760006001925092505061325a565b80600092509250505b94509492505050565b6000600481111561327757613276615374565b5b81600481111561328a57613289615374565b5b1415613295576133ce565b600160048111156132a9576132a8615374565b5b8160048111156132bc576132bb615374565b5b14156132fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f4906153ef565b60405180910390fd5b6002600481111561331157613310615374565b5b81600481111561332457613323615374565b5b1415613365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335c9061545b565b60405180910390fd5b6003600481111561337957613378615374565b5b81600481111561338c5761338b615374565b5b14156133cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133c4906154ed565b60405180910390fd5b5b50565b60006133db612fea565b9050806133ea846000016139ef565b10156134475782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60606134728273ffffffffffffffffffffffffffffffffffffffff16601460ff16613479565b9050919050565b60606000600283600261348c919061550d565b6134969190614527565b67ffffffffffffffff8111156134af576134ae614655565b5b6040519080825280601f01601f1916602001820160405280156134e15781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061351957613518614684565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061357d5761357c614684565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026135bd919061550d565b6135c79190614527565b90505b6001811115613667577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061360957613608614684565b5b1a60f81b8282815181106136205761361f614684565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061366090615567565b90506135ca565b50600084146136ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136a2906155dd565b60405180910390fd5b8091505092915050565b600080600090506000608084901c11156136d757608083901c92506080810190505b6000604084901c11156136f257604083901c92506040810190505b6000602084901c111561370d57602083901c92506020810190505b6000601084901c111561372857601083901c92506010810190505b6000600884901c111561374357600883901c92506008810190505b6000600484901c111561375e57600483901c92506004810190505b6000600284901c111561377957600283901c92506002810190505b6000600184901c111561378d576001810190505b80915050919050565b60008183106137a557816137a7565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561381f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138169061566f565b60405180910390fd5b61382b82600083612afc565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156138b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138a890615701565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516139649190613d85565b60405180910390a361397883600084612b0c565b505050565b6000808360005282602060002001905061399681613a3c565b91505092915050565b60008060ff8360001c169050601f8111156139e6576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b60008082805490501415613a065760009050613a37565b8160018380549050613a189190614c4f565b81548110613a2957613a28614684565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b828054613a9090614434565b90600052602060002090601f016020900481019282613ab25760008555613af9565b82601f10613acb57805160ff1916838001178555613af9565b82800160010185558215613af9579182015b82811115613af8578251825591602001919060010190613add565b5b509050613b069190613b0a565b5090565b5b80821115613b23576000816000905550600101613b0b565b5090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613b6181613b2c565b8114613b6c57600080fd5b50565b600081359050613b7e81613b58565b92915050565b600060208284031215613b9a57613b99613b27565b5b6000613ba884828501613b6f565b91505092915050565b60008115159050919050565b613bc681613bb1565b82525050565b6000602082019050613be16000830184613bbd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613c21578082015181840152602081019050613c06565b83811115613c30576000848401525b50505050565b6000601f19601f8301169050919050565b6000613c5282613be7565b613c5c8185613bf2565b9350613c6c818560208601613c03565b613c7581613c36565b840191505092915050565b60006020820190508181036000830152613c9a8184613c47565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613ccd82613ca2565b9050919050565b613cdd81613cc2565b8114613ce857600080fd5b50565b600081359050613cfa81613cd4565b92915050565b6000819050919050565b613d1381613d00565b8114613d1e57600080fd5b50565b600081359050613d3081613d0a565b92915050565b60008060408385031215613d4d57613d4c613b27565b5b6000613d5b85828601613ceb565b9250506020613d6c85828601613d21565b9150509250929050565b613d7f81613d00565b82525050565b6000602082019050613d9a6000830184613d76565b92915050565b600080600060608486031215613db957613db8613b27565b5b6000613dc786828701613ceb565b9350506020613dd886828701613ceb565b9250506040613de986828701613d21565b9150509250925092565b6000819050919050565b613e0681613df3565b8114613e1157600080fd5b50565b600081359050613e2381613dfd565b92915050565b600060208284031215613e3f57613e3e613b27565b5b6000613e4d84828501613e14565b91505092915050565b613e5f81613df3565b82525050565b6000602082019050613e7a6000830184613e56565b92915050565b60008060408385031215613e9757613e96613b27565b5b6000613ea585828601613e14565b9250506020613eb685828601613ceb565b9150509250929050565b600060ff82169050919050565b613ed681613ec0565b82525050565b6000602082019050613ef16000830184613ecd565b92915050565b600060208284031215613f0d57613f0c613b27565b5b6000613f1b84828501613d21565b91505092915050565b600060208284031215613f3a57613f39613b27565b5b6000613f4884828501613ceb565b91505092915050565b613f5a81613cc2565b82525050565b6000602082019050613f756000830184613f51565b92915050565b600063ffffffff82169050919050565b613f9481613f7b565b82525050565b6000602082019050613faf6000830184613f8b565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613fea81613fb5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61402581613d00565b82525050565b6000614037838361401c565b60208301905092915050565b6000602082019050919050565b600061405b82613ff0565b6140658185613ffb565b93506140708361400c565b8060005b838110156140a1578151614088888261402b565b975061409383614043565b925050600181019050614074565b5085935050505092915050565b600060e0820190506140c3600083018a613fe1565b81810360208301526140d58189613c47565b905081810360408301526140e98188613c47565b90506140f86060830187613d76565b6141056080830186613f51565b61411260a0830185613e56565b81810360c08301526141248184614050565b905098975050505050505050565b600065ffffffffffff82169050919050565b61414d81614132565b82525050565b60006020820190506141686000830184614144565b92915050565b61417781613ec0565b811461418257600080fd5b50565b6000813590506141948161416e565b92915050565b60008060008060008060c087890312156141b7576141b6613b27565b5b60006141c589828a01613ceb565b96505060206141d689828a01613d21565b95505060406141e789828a01613d21565b94505060606141f889828a01614185565b935050608061420989828a01613e14565b92505060a061421a89828a01613e14565b9150509295509295509295565b600080600080600080600060e0888a03121561424657614245613b27565b5b60006142548a828b01613ceb565b97505060206142658a828b01613ceb565b96505060406142768a828b01613d21565b95505060606142878a828b01613d21565b94505060806142988a828b01614185565b93505060a06142a98a828b01613e14565b92505060c06142ba8a828b01613e14565b91505092959891949750929550565b600080604083850312156142e0576142df613b27565b5b60006142ee85828601613ceb565b92505060206142ff85828601613ceb565b9150509250929050565b61431281613f7b565b811461431d57600080fd5b50565b60008135905061432f81614309565b92915050565b6000806040838503121561434c5761434b613b27565b5b600061435a85828601613ceb565b925050602061436b85828601614320565b9150509250929050565b61437e81613f7b565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6143b581614384565b82525050565b6040820160008201516143d16000850182614375565b5060208201516143e460208501826143ac565b50505050565b60006040820190506143ff60008301846143bb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061444c57607f821691505b602082108114156144605761445f614405565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006144c2602f83613bf2565b91506144cd82614466565b604082019050919050565b600060208201905081810360008301526144f1816144b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061453282613d00565b915061453d83613d00565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614572576145716144f8565b5b828201905092915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b60006145b3601983613bf2565b91506145be8261457d565b602082019050919050565b600060208201905081810360008301526145e2816145a6565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b600061461f601d83613bf2565b915061462a826145e9565b602082019050919050565b6000602082019050818103600083015261464e81614612565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061470f602583613bf2565b915061471a826146b3565b604082019050919050565b6000602082019050818103600083015261473e81614702565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b600061477b601d83613bf2565b915061478682614745565b602082019050919050565b600060208201905081810360008301526147aa8161476e565b9050919050565b60006080820190506147c66000830187613e56565b6147d36020830186613f51565b6147e06040830185613d76565b6147ed6060830184613d76565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b600061482c601983613bf2565b9150614837826147f6565b602082019050919050565b6000602082019050818103600083015261485b8161481f565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000614898601d83613bf2565b91506148a382614862565b602082019050919050565b600060208201905081810360008301526148c78161488b565b9050919050565b600060c0820190506148e36000830189613e56565b6148f06020830188613f51565b6148fd6040830187613f51565b61490a6060830186613d76565b6149176080830185613d76565b61492460a0830184613d76565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614965601e83613bf2565b91506149708261492f565b602082019050919050565b6000602082019050818103600083015261499481614958565b9050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006149f7603083613bf2565b9150614a028261499b565b604082019050919050565b60006020820190508181036000830152614a26816149ea565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614a63601f83613bf2565b9150614a6e82614a2d565b602082019050919050565b60006020820190508181036000830152614a9281614a56565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614af5602783613bf2565b9150614b0082614a99565b604082019050919050565b60006020820190508181036000830152614b2481614ae8565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614b87602683613bf2565b9150614b9282614b2b565b604082019050919050565b60006020820190508181036000830152614bb681614b7a565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614c19602683613bf2565b9150614c2482614bbd565b604082019050919050565b60006020820190508181036000830152614c4881614c0c565b9050919050565b6000614c5a82613d00565b9150614c6583613d00565b925082821015614c7857614c776144f8565b5b828203905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614cdf602483613bf2565b9150614cea82614c83565b604082019050919050565b60006020820190508181036000830152614d0e81614cd2565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d71602283613bf2565b9150614d7c82614d15565b604082019050919050565b60006020820190508181036000830152614da081614d64565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614ddd601d83613bf2565b9150614de882614da7565b602082019050919050565b60006020820190508181036000830152614e0c81614dd0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614e6f602583613bf2565b9150614e7a82614e13565b604082019050919050565b60006020820190508181036000830152614e9e81614e62565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614f01602383613bf2565b9150614f0c82614ea5565b604082019050919050565b60006020820190508181036000830152614f3081614ef4565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614f93602683613bf2565b9150614f9e82614f37565b604082019050919050565b60006020820190508181036000830152614fc281614f86565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b6000614fff601683613bf2565b915061500a82614fc9565b602082019050919050565b6000602082019050818103600083015261502e81614ff2565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b600061506b601d83613bf2565b915061507682615035565b602082019050919050565b6000602082019050818103600083015261509a8161505e565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006150c88251613df3565b80915050919050565b600082821b905092915050565b60006150e9826150a1565b826150f3846150ac565b90506150fe816150bc565b9250602082101561513e576151397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026150d1565b831692505b5050919050565b600060408201905061515a6000830185613d76565b6151676020830184613d76565b9392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006151af60178361516e565b91506151ba82615179565b601782019050919050565b60006151d082613be7565b6151da818561516e565b93506151ea818560208601613c03565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061522c60118361516e565b9150615237826151f6565b601182019050919050565b600061524d826151a2565b915061525982856151c5565b91506152648261521f565b915061527082846151c5565b91508190509392505050565b600060a0820190506152916000830188613e56565b61529e6020830187613e56565b6152ab6040830186613e56565b6152b86060830185613d76565b6152c56080830184613f51565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061530982613d00565b915061531483613d00565b925082615324576153236152cf565b5b828204905092915050565b60006080820190506153446000830187613e56565b6153516020830186613ecd565b61535e6040830185613e56565b61536b6060830184613e56565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006153d9601883613bf2565b91506153e4826153a3565b602082019050919050565b60006020820190508181036000830152615408816153cc565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615445601f83613bf2565b91506154508261540f565b602082019050919050565b6000602082019050818103600083015261547481615438565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006154d7602283613bf2565b91506154e28261547b565b604082019050919050565b60006020820190508181036000830152615506816154ca565b9050919050565b600061551882613d00565b915061552383613d00565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561555c5761555b6144f8565b5b828202905092915050565b600061557282613d00565b91506000821415615586576155856144f8565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006155c7602083613bf2565b91506155d282615591565b602082019050919050565b600060208201905081810360008301526155f6816155ba565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000615659602183613bf2565b9150615664826155fd565b604082019050919050565b600060208201905081810360008301526156888161564c565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006156eb602283613bf2565b91506156f68261568f565b604082019050919050565b6000602082019050818103600083015261571a816156de565b905091905056fea2646970667358221220aa3baa134cf53e06ca73224bae17571aea30a90a4897d82da3bc838102d8545364736f6c63430008090033