6080604052600060105560006011556000601260006101000a81548160ff0219169083151502179055503480156200003657600080fd5b50604051620066343803806200663483398181016040528101906200005c919062000799565b81818585816002908051906020019062000078929190620004e1565b50806003908051906020019062000091929190620004e1565b50620000a2620001d460201b60201c565b60008190555050508051825114620000f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000e890620009bb565b60405180910390fd5b600082511162000138576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200012f90620009ff565b60405180910390fd5b60005b8251811015620001a757620001918382815181106200015f576200015e62000cfa565b5b60200260200101518383815181106200017d576200017c62000cfa565b5b6020026020010151620001d960201b60201c565b80806200019e9062000c4e565b9150506200013b565b505050620001ca620001be6200041360201b60201c565b6200041b60201b60201c565b5050505062000ef5565b600090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200024c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002439062000999565b60405180910390fd5b6000811162000292576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002899062000a21565b60405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541462000317576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200030e90620009dd565b60405180910390fd5b600c829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600854620003ce919062000b11565b6008819055507f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac8282604051620004079291906200096c565b60405180910390a15050565b600033905090565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620004ef9062000be2565b90600052602060002090601f0160209004810192826200051357600085556200055f565b82601f106200052e57805160ff19168380011785556200055f565b828001600101855582156200055f579182015b828111156200055e57825182559160200191906001019062000541565b5b5090506200056e919062000572565b5090565b5b808211156200058d57600081600090555060010162000573565b5090565b6000620005a8620005a28462000a6c565b62000a43565b90508083825260208201905082856020860282011115620005ce57620005cd62000d5d565b5b60005b85811015620006025781620005e78882620006d2565b845260208401935060208301925050600181019050620005d1565b5050509392505050565b6000620006236200061d8462000a9b565b62000a43565b9050808382526020820190508285602086028201111562000649576200064862000d5d565b5b60005b858110156200067d578162000662888262000782565b8452602084019350602083019250506001810190506200064c565b5050509392505050565b60006200069e620006988462000aca565b62000a43565b905082815260208101848484011115620006bd57620006bc62000d62565b5b620006ca84828562000bac565b509392505050565b600081519050620006e38162000ec1565b92915050565b600082601f83011262000701576200070062000d58565b5b81516200071384826020860162000591565b91505092915050565b600082601f83011262000734576200073362000d58565b5b8151620007468482602086016200060c565b91505092915050565b600082601f83011262000767576200076662000d58565b5b81516200077984826020860162000687565b91505092915050565b600081519050620007938162000edb565b92915050565b60008060008060808587031215620007b657620007b562000d6c565b5b600085015167ffffffffffffffff811115620007d757620007d662000d67565b5b620007e5878288016200074f565b945050602085015167ffffffffffffffff81111562000809576200080862000d67565b5b62000817878288016200074f565b935050604085015167ffffffffffffffff8111156200083b576200083a62000d67565b5b6200084987828801620006e9565b925050606085015167ffffffffffffffff8111156200086d576200086c62000d67565b5b6200087b878288016200071c565b91505092959194509250565b620008928162000b6e565b82525050565b6000620008a7602c8362000b00565b9150620008b48262000d82565b604082019050919050565b6000620008ce60328362000b00565b9150620008db8262000dd1565b604082019050919050565b6000620008f5602b8362000b00565b9150620009028262000e20565b604082019050919050565b60006200091c601a8362000b00565b9150620009298262000e6f565b602082019050919050565b600062000943601d8362000b00565b9150620009508262000e98565b602082019050919050565b620009668162000ba2565b82525050565b600060408201905062000983600083018562000887565b6200099260208301846200095b565b9392505050565b60006020820190508181036000830152620009b48162000898565b9050919050565b60006020820190508181036000830152620009d681620008bf565b9050919050565b60006020820190508181036000830152620009f881620008e6565b9050919050565b6000602082019050818103600083015262000a1a816200090d565b9050919050565b6000602082019050818103600083015262000a3c8162000934565b9050919050565b600062000a4f62000a62565b905062000a5d828262000c18565b919050565b6000604051905090565b600067ffffffffffffffff82111562000a8a5762000a8962000d29565b5b602082029050602081019050919050565b600067ffffffffffffffff82111562000ab95762000ab862000d29565b5b602082029050602081019050919050565b600067ffffffffffffffff82111562000ae85762000ae762000d29565b5b62000af38262000d71565b9050602081019050919050565b600082825260208201905092915050565b600062000b1e8262000ba2565b915062000b2b8362000ba2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000b635762000b6262000c9c565b5b828201905092915050565b600062000b7b8262000b82565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000bcc57808201518184015260208101905062000baf565b8381111562000bdc576000848401525b50505050565b6000600282049050600182168062000bfb57607f821691505b6020821081141562000c125762000c1162000ccb565b5b50919050565b62000c238262000d71565b810181811067ffffffffffffffff8211171562000c455762000c4462000d29565b5b80604052505050565b600062000c5b8262000ba2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000c915762000c9062000c9c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f5061796d656e7453706c69747465723a206163636f756e74206973207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a2070617965657320616e64207368617260008201527f6573206c656e677468206d69736d617463680000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960008201527f2068617320736861726573000000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206e6f20706179656573000000000000600082015250565b7f5061796d656e7453706c69747465723a20736861726573206172652030000000600082015250565b62000ecc8162000b6e565b811462000ed857600080fd5b50565b62000ee68162000ba2565b811462000ef257600080fd5b50565b61572f8062000f056000396000f3fe60806040526004361061021e5760003560e01c806370a0823111610123578063b88d4fde116100ab578063d79779b21161006f578063d79779b21461083c578063dc33e68114610879578063e33b7de3146108b6578063e985e9c5146108e1578063f2fde38b1461091e57610265565b8063b88d4fde14610745578063bec59f7a1461076e578063c52766c614610797578063c87b56dd146107c2578063ce7c2ac2146107ff57610265565b806395d89b41116100f257806395d89b41146106605780639852595c1461068b578063a22cb465146106c8578063a2309ff8146106f1578063a3ea97851461071c57610265565b806370a08231146105a4578063715018a6146105e15780638b83209b146105f85780638da5cb5b1461063557610265565b80632db11544116101a657806348b750441161017557806348b75044146104af5780634f558e79146104d857806355f804b314610515578063615d166e1461053e5780636352211e1461056757610265565b80632db11544146103f55780633a98ef391461041e578063406072a91461044957806342842e0e1461048657610265565b8063081812fc116101ed578063081812fc14610312578063095ea7b31461034f57806318160ddd1461037857806319165587146103a357806323b872dd146103cc57610265565b8063014b0c8a1461026a57806301ffc9a71461029357806306fd5133146102d057806306fdde03146102e757610265565b36610265577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77061024c610947565b3460405161025b92919061488f565b60405180910390a1005b600080fd5b34801561027657600080fd5b50610291600480360381019061028c9190614067565b61094f565b005b34801561029f57600080fd5b506102ba60048036038101906102b591906140dd565b610a5d565b6040516102c791906148b8565b60405180910390f35b3480156102dc57600080fd5b506102e5610b3f565b005b3480156102f357600080fd5b506102fc610bd8565b6040516103099190614918565b60405180910390f35b34801561031e57600080fd5b50610339600480360381019061033491906141f1565b610c6a565b60405161034691906147ff565b60405180910390f35b34801561035b57600080fd5b5061037660048036038101906103719190614027565b610ce6565b005b34801561038457600080fd5b5061038d610df1565b60405161039a9190614bfa565b60405180910390f35b3480156103af57600080fd5b506103ca60048036038101906103c59190613ea4565b610e08565b005b3480156103d857600080fd5b506103f360048036038101906103ee9190613f11565b610fb3565b005b34801561040157600080fd5b5061041c600480360381019061041791906141f1565b610fc3565b005b34801561042a57600080fd5b506104336111aa565b6040516104409190614bfa565b60405180910390f35b34801561045557600080fd5b50610470600480360381019061046b9190614164565b6111b4565b60405161047d9190614bfa565b60405180910390f35b34801561049257600080fd5b506104ad60048036038101906104a89190613f11565b61123b565b005b3480156104bb57600080fd5b506104d660048036038101906104d19190614164565b61125b565b005b3480156104e457600080fd5b506104ff60048036038101906104fa91906141f1565b611523565b60405161050c91906148b8565b60405180910390f35b34801561052157600080fd5b5061053c600480360381019061053791906141a4565b611535565b005b34801561054a57600080fd5b50610565600480360381019061056091906141f1565b6115c7565b005b34801561057357600080fd5b5061058e600480360381019061058991906141f1565b6116d5565b60405161059b91906147ff565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c69190613e77565b6116eb565b6040516105d89190614bfa565b60405180910390f35b3480156105ed57600080fd5b506105f66117bb565b005b34801561060457600080fd5b5061061f600480360381019061061a91906141f1565b611843565b60405161062c91906147ff565b60405180910390f35b34801561064157600080fd5b5061064a61188b565b60405161065791906147ff565b60405180910390f35b34801561066c57600080fd5b506106756118b5565b6040516106829190614918565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190613e77565b611947565b6040516106bf9190614bfa565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea9190613fe7565b611990565b005b3480156106fd57600080fd5b50610706611b08565b6040516107139190614bfa565b60405180910390f35b34801561072857600080fd5b50610743600480360381019061073e9190613e77565b611b17565b005b34801561075157600080fd5b5061076c60048036038101906107679190613f64565b611bd7565b005b34801561077a57600080fd5b506107956004803603810190610790919061424b565b611c53565b005b3480156107a357600080fd5b506107ac61207b565b6040516107b99190614bfa565b60405180910390f35b3480156107ce57600080fd5b506107e960048036038101906107e491906141f1565b612085565b6040516107f69190614918565b60405180910390f35b34801561080b57600080fd5b5061082660048036038101906108219190613e77565b612124565b6040516108339190614bfa565b60405180910390f35b34801561084857600080fd5b50610863600480360381019061085e9190614137565b61216d565b6040516108709190614bfa565b60405180910390f35b34801561088557600080fd5b506108a0600480360381019061089b9190613e77565b6121b6565b6040516108ad9190614bfa565b60405180910390f35b3480156108c257600080fd5b506108cb6121c8565b6040516108d89190614bfa565b60405180910390f35b3480156108ed57600080fd5b5061090860048036038101906109039190613ed1565b6121d2565b60405161091591906148b8565b60405180910390f35b34801561092a57600080fd5b5061094560048036038101906109409190613e77565b612266565b005b600033905090565b610957610947565b73ffffffffffffffffffffffffffffffffffffffff1661097561188b565b73ffffffffffffffffffffffffffffffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c290614ada565b60405180910390fd5b601260009054906101000a900460ff1615610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1290614b5a565b60405180910390fd5b60005b8151811015610a5957610a4c828281518110610a3d57610a3c6150c3565b5b6020026020010151600161235e565b8080600101915050610a1e565b5050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b2857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b385750610b378261237c565b5b9050919050565b610b47610947565b73ffffffffffffffffffffffffffffffffffffffff16610b6561188b565b73ffffffffffffffffffffffffffffffffffffffff1614610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb290614ada565b60405180910390fd5b6001601260006101000a81548160ff021916908315150217905550565b606060028054610be790614f21565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1390614f21565b8015610c605780601f10610c3557610100808354040283529160200191610c60565b820191906000526020600020905b815481529060010190602001808311610c4357829003601f168201915b5050505050905090565b6000610c75826123e6565b610cab576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610cf1826116d5565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d59576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d78610947565b73ffffffffffffffffffffffffffffffffffffffff1614158015610daa5750610da881610da3610947565b6121d2565b155b15610de1576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dec838383612434565b505050565b6000610dfb6124e6565b6001546000540303905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e81906149ba565b60405180910390fd5b6000610e946121c8565b47610e9f9190614ce5565b90506000610eb68383610eb186611947565b6124eb565b90506000811415610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef390614a5a565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4b9190614ce5565b925050819055508060096000828254610f649190614ce5565b92505081905550610f758382612559565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b0568382604051610fa692919061481a565b60405180910390a1505050565b610fbe83838361264d565b505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102890614b1a565b60405180910390fd5b600360105414611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106d9061499a565b60405180910390fd5b61271081611082612b3e565b61108c9190614ce5565b11156110cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c490614a9a565b60405180910390fd5b80601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561119d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119490614afa565b60405180910390fd5b6111a7338261235e565b50565b6000600854905090565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61125683838360405180602001604052806000815250611bd7565b505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116112dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d4906149ba565b60405180910390fd5b60006112e88361216d565b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161132191906147ff565b60206040518083038186803b15801561133957600080fd5b505afa15801561134d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611371919061421e565b61137b9190614ce5565b90506000611393838361138e87876111b4565b6124eb565b905060008114156113d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d090614a5a565b60405180910390fd5b80600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114659190614ce5565b9250508190555080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114bb9190614ce5565b925050819055506114cd848483612b51565b8373ffffffffffffffffffffffffffffffffffffffff167f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a848360405161151592919061488f565b60405180910390a250505050565b600061152e826123e6565b9050919050565b61153d610947565b73ffffffffffffffffffffffffffffffffffffffff1661155b61188b565b73ffffffffffffffffffffffffffffffffffffffff16146115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890614ada565b60405180910390fd5b8181601791906115c2929190613ae2565b505050565b6115cf610947565b73ffffffffffffffffffffffffffffffffffffffff166115ed61188b565b73ffffffffffffffffffffffffffffffffffffffff1614611643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163a90614ada565b60405180910390fd5b6010548111611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e90614bda565b60405180910390fd5b60048111156116cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c290614b9a565b60405180910390fd5b8060108190555050565b60006116e082612bd7565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611753576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b6117c3610947565b73ffffffffffffffffffffffffffffffffffffffff166117e161188b565b73ffffffffffffffffffffffffffffffffffffffff1614611837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182e90614ada565b60405180910390fd5b6118416000612e66565b565b6000600c8281548110611859576118586150c3565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546118c490614f21565b80601f01602080910402602001604051908101604052809291908181526020018280546118f090614f21565b801561193d5780601f106119125761010080835404028352916020019161193d565b820191906000526020600020905b81548152906001019060200180831161192057829003601f168201915b5050505050905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611998610947565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119fd576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000611a0a610947565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611ab7610947565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611afc91906148b8565b60405180910390a35050565b6000611b12612b3e565b905090565b611b1f610947565b73ffffffffffffffffffffffffffffffffffffffff16611b3d61188b565b73ffffffffffffffffffffffffffffffffffffffff1614611b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8a90614ada565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611be284848461264d565b611c018373ffffffffffffffffffffffffffffffffffffffff16612f2c565b8015611c165750611c1484848484612f4f565b155b15611c4d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb890614b1a565b60405180910390fd5b600060105411611d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfd90614bba565b60405180910390fd5b61271084611d12612b3e565b611d1c9190614ce5565b1115611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5490614a9a565b60405180910390fd5b6000338484604051602001611d749392919061474a565b604051602081830303815290604052805190602001209050611dc3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682846130af9092919063ffffffff16565b6000841415611eaa5784601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e929061493a565b60405180910390fd5b611ea5338661235e565b612074565b60018414156120735784601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7990614a7a565b60405180910390fd5b846011600082825401925050819055506001601054141561206857610bbc6011541115611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb9061497a565b60405180910390fd5b600a601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115612067576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205e906149da565b60405180910390fd5b5b612072338661235e565b5b5b5050505050565b6000601054905090565b6060612090826123e6565b6120c6576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006120d06131d9565b90506000815114156120f1576040518060200160405280600081525061211c565b806120fb8461326b565b60405160200161210c9291906147c6565b6040516020818303038152906040525b915050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006121c1826133cc565b9050919050565b6000600954905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61226e610947565b73ffffffffffffffffffffffffffffffffffffffff1661228c61188b565b73ffffffffffffffffffffffffffffffffffffffff16146122e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d990614ada565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612352576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123499061495a565b60405180910390fd5b61235b81612e66565b50565b61237882826040518060200160405280600081525061349c565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000816123f16124e6565b11158015612400575060005482105b801561242d575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b600081600854600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548561253c9190614d6c565b6125469190614d3b565b6125509190614dc6565b90509392505050565b8047101561259c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259390614a1a565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516125c2906147ea565b60006040518083038185875af1925050503d80600081146125ff576040519150601f19603f3d011682016040523d82523d6000602084013e612604565b606091505b5050905080612648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263f906149fa565b60405180910390fd5b505050565b600061265882612bd7565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff1661267f610947565b73ffffffffffffffffffffffffffffffffffffffff1614806126b257506126b182600001516126ac610947565b6121d2565b5b806126f757506126c0610947565b73ffffffffffffffffffffffffffffffffffffffff166126df84610c6a565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612730576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614612799576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612800576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61280d85858560016134ae565b61281d6000848460000151612434565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836004600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600085815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600184019050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612ace57600054811015612acd5782600001516004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082602001516004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b50828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b3785858560016134b4565b5050505050565b6000612b486124e6565b60005403905090565b612bd28363a9059cbb60e01b8484604051602401612b7092919061488f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506134ba565b505050565b612bdf613b68565b600082905080612bed6124e6565b11158015612bfc575060005481105b15612e2f576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151612e2d57600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612d11578092505050612e61565b5b600115612e2c57818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612e27578092505050612e61565b612d12565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612f75610947565b8786866040518563ffffffff1660e01b8152600401612f979493929190614843565b602060405180830381600087803b158015612fb157600080fd5b505af1925050508015612fe257506040513d601f19601f82011682018060405250810190612fdf919061410a565b60015b61305c573d8060008114613012576040519150601f19603f3d011682016040523d82523d6000602084013e613017565b606091505b50600081511415613054576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60016040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250826040516020016130f992919061479e565b604051602081830303815290604052805190602001208460000151856020015186604001516040516000815260200160405260405161313b94939291906148d3565b6020604051602081039080840390855afa15801561315d573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146131d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131cb90614aba565b60405180910390fd5b505050565b6060601780546131e890614f21565b80601f016020809104026020016040519081016040528092919081815260200182805461321490614f21565b80156132615780601f1061323657610100808354040283529160200191613261565b820191906000526020600020905b81548152906001019060200180831161324457829003601f168201915b5050505050905090565b606060008214156132b3576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506133c7565b600082905060005b600082146132e55780806132ce90614f84565b915050600a826132de9190614d3b565b91506132bb565b60008167ffffffffffffffff811115613301576133006150f2565b5b6040519080825280601f01601f1916602001820160405280156133335781602001600182028036833780820191505090505b5090505b600085146133c05760018261334c9190614dc6565b9150600a8561335b9190615005565b60306133679190614ce5565b60f81b81838151811061337d5761337c6150c3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856133b99190614d3b565b9450613337565b8093505050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613434576040517f35ebb31900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b6134a98383836001613581565b505050565b50505050565b50505050565b600061351c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661394f9092919063ffffffff16565b905060008151111561357c578080602001905181019061353c91906140b0565b61357b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161357290614b7a565b60405180910390fd5b5b505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156135ee576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000841415613629576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61363660008683876134ae565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060008190506000858201905083801561380057506137ff8773ffffffffffffffffffffffffffffffffffffffff16612f2c565b5b156138c6575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46138756000888480600101955088612f4f565b6138ab576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808214156138065782600054146138c157600080fd5b613932565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808214156138c7575b81600081905550505061394860008683876134b4565b5050505050565b606061395e8484600085613967565b90509392505050565b6060824710156139ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139a390614a3a565b60405180910390fd5b6139b585612f2c565b6139f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139eb90614b3a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051613a1d9190614787565b60006040518083038185875af1925050503d8060008114613a5a576040519150601f19603f3d011682016040523d82523d6000602084013e613a5f565b606091505b5091509150613a6f828286613a7b565b92505050949350505050565b60608315613a8b57829050613adb565b600083511115613a9e5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ad29190614918565b60405180910390fd5b9392505050565b828054613aee90614f21565b90600052602060002090601f016020900481019282613b105760008555613b57565b82601f10613b2957803560ff1916838001178555613b57565b82800160010185558215613b57579182015b82811115613b56578235825591602001919060010190613b3b565b5b509050613b649190613bab565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b80821115613bc4576000816000905550600101613bac565b5090565b6000613bdb613bd684614c3a565b614c15565b90508083825260208201905082856020860282011115613bfe57613bfd615130565b5b60005b85811015613c2e5781613c148882613c7a565b845260208401935060208301925050600181019050613c01565b5050509392505050565b6000613c4b613c4684614c66565b614c15565b905082815260208101848484011115613c6757613c66615135565b5b613c72848285614edf565b509392505050565b600081359050613c8981615641565b92915050565b600081359050613c9e81615658565b92915050565b600082601f830112613cb957613cb8615126565b5b8135613cc9848260208601613bc8565b91505092915050565b600081359050613ce18161566f565b92915050565b600081519050613cf68161566f565b92915050565b600081359050613d0b81615686565b92915050565b600081359050613d208161569d565b92915050565b600081519050613d358161569d565b92915050565b600082601f830112613d5057613d4f615126565b5b8135613d60848260208601613c38565b91505092915050565b600081359050613d78816156b4565b92915050565b60008083601f840112613d9457613d93615126565b5b8235905067ffffffffffffffff811115613db157613db0615121565b5b602083019150836001820283011115613dcd57613dcc615130565b5b9250929050565b600060608284031215613dea57613de961512b565b5b613df46060614c15565b90506000613e0484828501613e62565b6000830152506020613e1884828501613cfc565b6020830152506040613e2c84828501613cfc565b60408301525092915050565b600081359050613e47816156cb565b92915050565b600081519050613e5c816156cb565b92915050565b600081359050613e71816156e2565b92915050565b600060208284031215613e8d57613e8c61513f565b5b6000613e9b84828501613c7a565b91505092915050565b600060208284031215613eba57613eb961513f565b5b6000613ec884828501613c8f565b91505092915050565b60008060408385031215613ee857613ee761513f565b5b6000613ef685828601613c7a565b9250506020613f0785828601613c7a565b9150509250929050565b600080600060608486031215613f2a57613f2961513f565b5b6000613f3886828701613c7a565b9350506020613f4986828701613c7a565b9250506040613f5a86828701613e38565b9150509250925092565b60008060008060808587031215613f7e57613f7d61513f565b5b6000613f8c87828801613c7a565b9450506020613f9d87828801613c7a565b9350506040613fae87828801613e38565b925050606085013567ffffffffffffffff811115613fcf57613fce61513a565b5b613fdb87828801613d3b565b91505092959194509250565b60008060408385031215613ffe57613ffd61513f565b5b600061400c85828601613c7a565b925050602061401d85828601613cd2565b9150509250929050565b6000806040838503121561403e5761403d61513f565b5b600061404c85828601613c7a565b925050602061405d85828601613e38565b9150509250929050565b60006020828403121561407d5761407c61513f565b5b600082013567ffffffffffffffff81111561409b5761409a61513a565b5b6140a784828501613ca4565b91505092915050565b6000602082840312156140c6576140c561513f565b5b60006140d484828501613ce7565b91505092915050565b6000602082840312156140f3576140f261513f565b5b600061410184828501613d11565b91505092915050565b6000602082840312156141205761411f61513f565b5b600061412e84828501613d26565b91505092915050565b60006020828403121561414d5761414c61513f565b5b600061415b84828501613d69565b91505092915050565b6000806040838503121561417b5761417a61513f565b5b600061418985828601613d69565b925050602061419a85828601613c7a565b9150509250929050565b600080602083850312156141bb576141ba61513f565b5b600083013567ffffffffffffffff8111156141d9576141d861513a565b5b6141e585828601613d7e565b92509250509250929050565b6000602082840312156142075761420661513f565b5b600061421584828501613e38565b91505092915050565b6000602082840312156142345761423361513f565b5b600061424284828501613e4d565b91505092915050565b60008060008060c085870312156142655761426461513f565b5b600061427387828801613e38565b945050602061428487828801613e38565b935050604061429587828801613e38565b92505060606142a687828801613dd4565b91505092959194509250565b6142bb81614ea9565b82525050565b6142ca81614dfa565b82525050565b6142e16142dc82614dfa565b614fcd565b82525050565b6142f081614e1e565b82525050565b6142ff81614e2a565b82525050565b61431661431182614e2a565b614fdf565b82525050565b600061432782614c97565b6143318185614cad565b9350614341818560208601614eee565b61434a81615144565b840191505092915050565b600061436082614c97565b61436a8185614cbe565b935061437a818560208601614eee565b80840191505092915050565b600061439182614ca2565b61439b8185614cc9565b93506143ab818560208601614eee565b6143b481615144565b840191505092915050565b60006143ca82614ca2565b6143d48185614cda565b93506143e4818560208601614eee565b80840191505092915050565b60006143fd601183614cc9565b915061440882615162565b602082019050919050565b6000614420602683614cc9565b915061442b8261518b565b604082019050919050565b6000614443602583614cc9565b915061444e826151da565b604082019050919050565b6000614466601983614cc9565b915061447182615229565b602082019050919050565b6000614489602683614cc9565b915061449482615252565b604082019050919050565b60006144ac602483614cc9565b91506144b7826152a1565b604082019050919050565b60006144cf603a83614cc9565b91506144da826152f0565b604082019050919050565b60006144f2601d83614cc9565b91506144fd8261533f565b602082019050919050565b6000614515602683614cc9565b915061452082615368565b604082019050919050565b6000614538602b83614cc9565b9150614543826153b7565b604082019050919050565b600061455b601083614cc9565b915061456682615406565b602082019050919050565b600061457e601883614cc9565b91506145898261542f565b602082019050919050565b60006145a1601183614cc9565b91506145ac82615458565b602082019050919050565b60006145c4602083614cc9565b91506145cf82615481565b602082019050919050565b60006145e7602e83614cc9565b91506145f2826154aa565b604082019050919050565b600061460a600d83614cc9565b9150614615826154f9565b602082019050919050565b600061462d600083614cbe565b915061463882615522565b600082019050919050565b6000614650601d83614cc9565b915061465b82615525565b602082019050919050565b6000614673601b83614cc9565b915061467e8261554e565b602082019050919050565b6000614696602a83614cc9565b91506146a182615577565b604082019050919050565b60006146b9601583614cc9565b91506146c4826155c6565b602082019050919050565b60006146dc601783614cc9565b91506146e7826155ef565b602082019050919050565b60006146ff601183614cc9565b915061470a82615618565b602082019050919050565b61471e81614e92565b82525050565b61473561473082614e92565b614ffb565b82525050565b61474481614e9c565b82525050565b600061475682866142d0565b6014820191506147668285614724565b6020820191506147768284614724565b602082019150819050949350505050565b60006147938284614355565b915081905092915050565b60006147aa82856143bf565b91506147b68284614305565b6020820191508190509392505050565b60006147d282856143bf565b91506147de82846143bf565b91508190509392505050565b60006147f582614620565b9150819050919050565b600060208201905061481460008301846142c1565b92915050565b600060408201905061482f60008301856142b2565b61483c6020830184614715565b9392505050565b600060808201905061485860008301876142c1565b61486560208301866142c1565b6148726040830185614715565b8181036060830152614884818461431c565b905095945050505050565b60006040820190506148a460008301856142c1565b6148b16020830184614715565b9392505050565b60006020820190506148cd60008301846142e7565b92915050565b60006080820190506148e860008301876142f6565b6148f5602083018661473b565b61490260408301856142f6565b61490f60608301846142f6565b95945050505050565b600060208201905081810360008301526149328184614386565b905092915050565b60006020820190508181036000830152614953816143f0565b9050919050565b6000602082019050818103600083015261497381614413565b9050919050565b6000602082019050818103600083015261499381614436565b9050919050565b600060208201905081810360008301526149b381614459565b9050919050565b600060208201905081810360008301526149d38161447c565b9050919050565b600060208201905081810360008301526149f38161449f565b9050919050565b60006020820190508181036000830152614a13816144c2565b9050919050565b60006020820190508181036000830152614a33816144e5565b9050919050565b60006020820190508181036000830152614a5381614508565b9050919050565b60006020820190508181036000830152614a738161452b565b9050919050565b60006020820190508181036000830152614a938161454e565b9050919050565b60006020820190508181036000830152614ab381614571565b9050919050565b60006020820190508181036000830152614ad381614594565b9050919050565b60006020820190508181036000830152614af3816145b7565b9050919050565b60006020820190508181036000830152614b13816145da565b9050919050565b60006020820190508181036000830152614b33816145fd565b9050919050565b60006020820190508181036000830152614b5381614643565b9050919050565b60006020820190508181036000830152614b7381614666565b9050919050565b60006020820190508181036000830152614b9381614689565b9050919050565b60006020820190508181036000830152614bb3816146ac565b9050919050565b60006020820190508181036000830152614bd3816146cf565b9050919050565b60006020820190508181036000830152614bf3816146f2565b9050919050565b6000602082019050614c0f6000830184614715565b92915050565b6000614c1f614c30565b9050614c2b8282614f53565b919050565b6000604051905090565b600067ffffffffffffffff821115614c5557614c546150f2565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614c8157614c806150f2565b5b614c8a82615144565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614cf082614e92565b9150614cfb83614e92565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614d3057614d2f615036565b5b828201905092915050565b6000614d4682614e92565b9150614d5183614e92565b925082614d6157614d60615065565b5b828204905092915050565b6000614d7782614e92565b9150614d8283614e92565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614dbb57614dba615036565b5b828202905092915050565b6000614dd182614e92565b9150614ddc83614e92565b925082821015614def57614dee615036565b5b828203905092915050565b6000614e0582614e72565b9050919050565b6000614e1782614e72565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000614e6b82614dfa565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614eb482614ebb565b9050919050565b6000614ec682614ecd565b9050919050565b6000614ed882614e72565b9050919050565b82818337600083830152505050565b60005b83811015614f0c578082015181840152602081019050614ef1565b83811115614f1b576000848401525b50505050565b60006002820490506001821680614f3957607f821691505b60208210811415614f4d57614f4c615094565b5b50919050565b614f5c82615144565b810181811067ffffffffffffffff82111715614f7b57614f7a6150f2565b5b80604052505050565b6000614f8f82614e92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614fc257614fc1615036565b5b600182019050919050565b6000614fd882614fe9565b9050919050565b6000819050919050565b6000614ff482615155565b9050919050565b6000819050919050565b600061501082614e92565b915061501b83614e92565b92508261502b5761502a615065565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f312043524f414b203d2031204d46335221000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43616e6e6f74206578636565642063617070656420737570706c7920666f722060008201527f6d66657273000000000000000000000000000000000000000000000000000000602082015250565b7f5075626c6963206d696e74206e6f7420617661696c61626c6500000000000000600082015250565b7f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060008201527f7368617265730000000000000000000000000000000000000000000000000000602082015250565b7f43616e6e6f74206578636565642063617070656420737570706c79207065722060008201527f6d66657200000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060008201527f647565207061796d656e74000000000000000000000000000000000000000000602082015250565b7f31204d464552203d2031204d4633522100000000000000000000000000000000600082015250565b7f43616e6e6f7420657863656564206d617820737570706c790000000000000000600082015250565b7f496e76616c6964205369676e6174757265000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f43616e6e6f74206578636565642063617070656420737570706c79207065722060008201527f7075626c69632061646472657373000000000000000000000000000000000000602082015250565b7f4e6f20636f6e7472616374732100000000000000000000000000000000000000600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f446576204d696e74205065726d616e656e746c79204c6f636b65640000000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f46696e616c20706861736520697320434c4f5345440000000000000000000000600082015250565b7f4d696e74696e6720686173206e6f742073746172746564000000000000000000600082015250565b7f4e6f206261636b2d7374657070696e6721000000000000000000000000000000600082015250565b61564a81614dfa565b811461565557600080fd5b50565b61566181614e0c565b811461566c57600080fd5b50565b61567881614e1e565b811461568357600080fd5b50565b61568f81614e2a565b811461569a57600080fd5b50565b6156a681614e34565b81146156b157600080fd5b50565b6156bd81614e60565b81146156c857600080fd5b50565b6156d481614e92565b81146156df57600080fd5b50565b6156eb81614e9c565b81146156f657600080fd5b5056fea2646970667358221220ffc8bb45d24fa8d44c9571ec27a3ebe58db9e14cb46089c27fbf96e544fff4f464736f6c63430008070033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000056d6633727300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d46335253000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000092bce497efe4332a8f611004f67e14093b5d0e8c00000000000000000000000060a7b634ff8ab48268fd2369ea86f2099a0f17770000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002d0000000000000000000000000000000000000000000000000000000000000037