60806040523480156200001157600080fd5b5060405162003dc738038062003dc7833981810160405281019062000037919062000811565b8282620000596200004d6200041d60201b60201c565b6200042560201b60201c565b81600390816200006a919062000aec565b5080600490816200007c919062000aec565b5050506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000125573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014b919062000c38565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d9919062000c38565b6040518363ffffffff1660e01b8152600401620001f892919062000c7b565b6020604051808303816000875af115801562000218573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023e919062000c38565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002c9620002926200041d60201b60201c565b620002a2620004e960201b60201c565b600a620002b0919062000e38565b84620002bd919062000e89565b620004f260201b60201c565b600160076000620002df6200041d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620003466200041d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000736f9239cbe94aea97a23508e1e989508774e4eeea73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006009819055506000600a819055505050505062000fe6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000564576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200055b9062000f5b565b60405180910390fd5b806002600082825462000578919062000f7d565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620005d0919062000f7d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000637919062000fc9565b60405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006ac8262000661565b810181811067ffffffffffffffff82111715620006ce57620006cd62000672565b5b80604052505050565b6000620006e362000643565b9050620006f18282620006a1565b919050565b600067ffffffffffffffff82111562000714576200071362000672565b5b6200071f8262000661565b9050602081019050919050565b60005b838110156200074c5780820151818401526020810190506200072f565b60008484015250505050565b60006200076f6200076984620006f6565b620006d7565b9050828152602081018484840111156200078e576200078d6200065c565b5b6200079b8482856200072c565b509392505050565b600082601f830112620007bb57620007ba62000657565b5b8151620007cd84826020860162000758565b91505092915050565b6000819050919050565b620007eb81620007d6565b8114620007f757600080fd5b50565b6000815190506200080b81620007e0565b92915050565b6000806000606084860312156200082d576200082c6200064d565b5b600084015167ffffffffffffffff8111156200084e576200084d62000652565b5b6200085c86828701620007a3565b935050602084015167ffffffffffffffff81111562000880576200087f62000652565b5b6200088e86828701620007a3565b9250506040620008a186828701620007fa565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008fe57607f821691505b602082108103620009145762000913620008b6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200097e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200093f565b6200098a86836200093f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620009cd620009c7620009c184620007d6565b620009a2565b620007d6565b9050919050565b6000819050919050565b620009e983620009ac565b62000a01620009f882620009d4565b8484546200094c565b825550505050565b600090565b62000a1862000a09565b62000a25818484620009de565b505050565b5b8181101562000a4d5762000a4160008262000a0e565b60018101905062000a2b565b5050565b601f82111562000a9c5762000a66816200091a565b62000a71846200092f565b8101602085101562000a81578190505b62000a9962000a90856200092f565b83018262000a2a565b50505b505050565b600082821c905092915050565b600062000ac16000198460080262000aa1565b1980831691505092915050565b600062000adc838362000aae565b9150826002028217905092915050565b62000af782620008ab565b67ffffffffffffffff81111562000b135762000b1262000672565b5b62000b1f8254620008e5565b62000b2c82828562000a51565b600060209050601f83116001811462000b64576000841562000b4f578287015190505b62000b5b858262000ace565b86555062000bcb565b601f19841662000b74866200091a565b60005b8281101562000b9e5784890151825560018201915060208501945060208101905062000b77565b8683101562000bbe578489015162000bba601f89168262000aae565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c008262000bd3565b9050919050565b62000c128162000bf3565b811462000c1e57600080fd5b50565b60008151905062000c328162000c07565b92915050565b60006020828403121562000c515762000c506200064d565b5b600062000c618482850162000c21565b91505092915050565b62000c758162000bf3565b82525050565b600060408201905062000c92600083018562000c6a565b62000ca1602083018462000c6a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000d365780860481111562000d0e5762000d0d62000ca8565b5b600185161562000d1e5780820291505b808102905062000d2e8562000cd7565b945062000cee565b94509492505050565b60008262000d51576001905062000e24565b8162000d61576000905062000e24565b816001811462000d7a576002811462000d855762000dbb565b600191505062000e24565b60ff84111562000d9a5762000d9962000ca8565b5b8360020a91508482111562000db45762000db362000ca8565b5b5062000e24565b5060208310610133831016604e8410600b841016171562000df55782820a90508381111562000def5762000dee62000ca8565b5b62000e24565b62000e04848484600162000ce4565b9250905081840481111562000e1e5762000e1d62000ca8565b5b81810290505b9392505050565b600060ff82169050919050565b600062000e4582620007d6565b915062000e528362000e2b565b925062000e817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d3f565b905092915050565b600062000e9682620007d6565b915062000ea383620007d6565b925082820262000eb381620007d6565b9150828204841483151762000ecd5762000ecc62000ca8565b5b5092915050565b600082825260208201905092915050565b7f45524332303a2052455741524420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600062000f4360218362000ed4565b915062000f508262000ee5565b604082019050919050565b6000602082019050818103600083015262000f768162000f34565b9050919050565b600062000f8a82620007d6565b915062000f9783620007d6565b925082820190508082111562000fb25762000fb162000ca8565b5b92915050565b62000fc381620007d6565b82525050565b600060208201905062000fe0600083018462000fb8565b92915050565b612dd18062000ff66000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b85780638da5cb5b1161007c5780638da5cb5b1461031057806395d89b411461032e5780639c7c722b1461034c578063a9059cbb14610368578063dd62ed3e14610398578063f2fde38b146103c857610137565b806370a0823114610282578063715018a6146102b257806378bf2b53146102bc5780638187f516146102d85780638b6f403e146102f457610137565b806338b9af9d116100ff57806338b9af9d146101f65780634dc2262414610212578063508e13b81461022e57806359ca12531461024a57806363aedb381461026657610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a8578063313ce567146101d8575b600080fd5b6101446103e4565b6040516101519190611c11565b60405180910390f35b610174600480360381019061016f9190611cdb565b610476565b6040516101819190611d36565b60405180910390f35b610192610499565b60405161019f9190611d60565b60405180910390f35b6101c260048036038101906101bd9190611d7b565b6104a3565b6040516101cf9190611d36565b60405180910390f35b6101e06104d2565b6040516101ed9190611dea565b60405180910390f35b610210600480360381019061020b9190611e05565b6104db565b005b61022c60048036038101906102279190611fb4565b6105ac565b005b61024860048036038101906102439190611ffd565b61070e565b005b610264600480360381019061025f9190612069565b610784565b005b610280600480360381019061027b919061216c565b610843565b005b61029c600480360381019061029791906121f7565b610965565b6040516102a99190611d60565b60405180910390f35b6102ba6109ae565b005b6102d660048036038101906102d19190611cdb565b610a87565b005b6102f260048036038101906102ed91906121f7565b610b33565b005b61030e60048036038101906103099190611cdb565b610bdb565b005b610318610ccb565b6040516103259190612233565b60405180910390f35b610336610cf4565b6040516103439190611c11565b60405180910390f35b61036660048036038101906103619190612303565b610d86565b005b610382600480360381019061037d9190611cdb565b610ecf565b60405161038f9190611d36565b60405180910390f35b6103b260048036038101906103ad919061237b565b610eed565b6040516103bf9190611d60565b60405180910390f35b6103e260048036038101906103dd91906121f7565b610f74565b005b6060600380546103f3906123ea565b80601f016020809104026020016040519081016040528092919081815260200182805461041f906123ea565b801561046c5780601f106104415761010080835404028352916020019161046c565b820191906000526020600020905b81548152906001019060200180831161044f57829003601f168201915b5050505050905090565b6000806104816110bc565b905061048e8185856110c4565b600191505092915050565b6000600254905090565b6000806104ae6110bc565b90506104bb85828561128d565b6104c6858585611319565b60019150509392505050565b60006012905090565b60011515600660006104eb6110bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461053f57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9848460405161059e92919061241b565b60405180910390a350505050565b6105b46110bc565b73ffffffffffffffffffffffffffffffffffffffff166105d2610ccb565b73ffffffffffffffffffffffffffffffffffffffff16148061063a5750736f9239cbe94aea97a23508e1e989508774e4eeea73ffffffffffffffffffffffffffffffffffffffff166106226110bc565b73ffffffffffffffffffffffffffffffffffffffff16145b610679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067090612490565b60405180910390fd5b60005b815181101561070a5760016006600084848151811061069e5761069d6124b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107029061250e565b91505061067c565b5050565b600115156006600061071e6110bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461077257600080fd5b8160098190555080600a819055505050565b60011515600660006107946110bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146107e857600080fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60011515600660006108536110bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146108a757600080fd5b60005b825181101561095f578281815181106108c6576108c56124b0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84848151811061092f5761092e6124b0565b5b60200260200101516040516109449190611d60565b60405180910390a380806109579061250e565b9150506108aa565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b66110bc565b73ffffffffffffffffffffffffffffffffffffffff166109d4610ccb565b73ffffffffffffffffffffffffffffffffffffffff161480610a3c5750736f9239cbe94aea97a23508e1e989508774e4eeea73ffffffffffffffffffffffffffffffffffffffff16610a246110bc565b73ffffffffffffffffffffffffffffffffffffffff16145b610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7290612490565b60405180910390fd5b610a8560006119ba565b565b6001151560066000610a976110bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610aeb57600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6001151560066000610b436110bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b9757600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6001151560066000610beb6110bc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c3f57600080fd5b6000811015610c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7a906125c8565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610d03906123ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2f906123ea565b8015610d7c5780601f10610d5157610100808354040283529160200191610d7c565b820191906000526020600020905b815481529060010190602001808311610d5f57829003601f168201915b5050505050905090565b610d8e6110bc565b73ffffffffffffffffffffffffffffffffffffffff16610dac610ccb565b73ffffffffffffffffffffffffffffffffffffffff161480610e145750736f9239cbe94aea97a23508e1e989508774e4eeea73ffffffffffffffffffffffffffffffffffffffff16610dfc6110bc565b73ffffffffffffffffffffffffffffffffffffffff16145b610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a90612490565b60405180910390fd5b8160039081610e629190612794565b508060049081610e729190612794565b5080604051610e8191906128a2565b604051809103902082604051610e9791906128a2565b60405180910390207f0a2724eb6606f91e6655f6afd84567038b38fcf615847d5d6a5a90a2df943b9f60405160405180910390a35050565b6000610ee3610edc6110bc565b8484611319565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f7c6110bc565b73ffffffffffffffffffffffffffffffffffffffff16610f9a610ccb565b73ffffffffffffffffffffffffffffffffffffffff1614806110025750736f9239cbe94aea97a23508e1e989508774e4eeea73ffffffffffffffffffffffffffffffffffffffff16610fea6110bc565b73ffffffffffffffffffffffffffffffffffffffff16145b611041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103890612490565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a79061292b565b60405180910390fd5b6110b9816119ba565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a906129bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990612a4f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112809190611d60565b60405180910390a3505050565b60006112998484610eed565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113135781811015611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90612abb565b60405180910390fd5b61131284848484036110c4565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f90612b4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90612bdf565b60405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561147e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147590612c71565b60405180910390fd5b60006001905061148e8585611a7e565b1561149857600090505b600081156116635760008073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ae57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361155257600a5490505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036115ad5760095490505b5b6000600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561163957600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b61165f60646116518388611b2990919063ffffffff16565b611b3f90919063ffffffff16565b9150505b6000811115611802576116be81600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5590919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611755816005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b6b90919063ffffffff16565b6005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117f99190611d60565b60405180910390a35b61185f81856118119190612c91565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b5590919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118ff81856118b19190612c91565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b6b90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838761199d9190612c91565b6040516119aa9190611d60565b60405180910390a3505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b215750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b60008183611b379190612cc5565b905092915050565b60008183611b4d9190612d36565b905092915050565b60008183611b639190612c91565b905092915050565b60008183611b799190612d67565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bbb578082015181840152602081019050611ba0565b60008484015250505050565b6000601f19601f8301169050919050565b6000611be382611b81565b611bed8185611b8c565b9350611bfd818560208601611b9d565b611c0681611bc7565b840191505092915050565b60006020820190508181036000830152611c2b8184611bd8565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c7282611c47565b9050919050565b611c8281611c67565b8114611c8d57600080fd5b50565b600081359050611c9f81611c79565b92915050565b6000819050919050565b611cb881611ca5565b8114611cc357600080fd5b50565b600081359050611cd581611caf565b92915050565b60008060408385031215611cf257611cf1611c3d565b5b6000611d0085828601611c90565b9250506020611d1185828601611cc6565b9150509250929050565b60008115159050919050565b611d3081611d1b565b82525050565b6000602082019050611d4b6000830184611d27565b92915050565b611d5a81611ca5565b82525050565b6000602082019050611d756000830184611d51565b92915050565b600080600060608486031215611d9457611d93611c3d565b5b6000611da286828701611c90565b9350506020611db386828701611c90565b9250506040611dc486828701611cc6565b9150509250925092565b600060ff82169050919050565b611de481611dce565b82525050565b6000602082019050611dff6000830184611ddb565b92915050565b60008060008060808587031215611e1f57611e1e611c3d565b5b6000611e2d87828801611c90565b9450506020611e3e87828801611c90565b9350506040611e4f87828801611c90565b9250506060611e6087828801611cc6565b91505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611ea982611bc7565b810181811067ffffffffffffffff82111715611ec857611ec7611e71565b5b80604052505050565b6000611edb611c33565b9050611ee78282611ea0565b919050565b600067ffffffffffffffff821115611f0757611f06611e71565b5b602082029050602081019050919050565b600080fd5b6000611f30611f2b84611eec565b611ed1565b90508083825260208201905060208402830185811115611f5357611f52611f18565b5b835b81811015611f7c5780611f688882611c90565b845260208401935050602081019050611f55565b5050509392505050565b600082601f830112611f9b57611f9a611e6c565b5b8135611fab848260208601611f1d565b91505092915050565b600060208284031215611fca57611fc9611c3d565b5b600082013567ffffffffffffffff811115611fe857611fe7611c42565b5b611ff484828501611f86565b91505092915050565b6000806040838503121561201457612013611c3d565b5b600061202285828601611cc6565b925050602061203385828601611cc6565b9150509250929050565b61204681611d1b565b811461205157600080fd5b50565b6000813590506120638161203d565b92915050565b600080604083850312156120805761207f611c3d565b5b600061208e85828601611c90565b925050602061209f85828601612054565b9150509250929050565b600067ffffffffffffffff8211156120c4576120c3611e71565b5b602082029050602081019050919050565b60006120e86120e3846120a9565b611ed1565b9050808382526020820190506020840283018581111561210b5761210a611f18565b5b835b8181101561213457806121208882611cc6565b84526020840193505060208101905061210d565b5050509392505050565b600082601f83011261215357612152611e6c565b5b81356121638482602086016120d5565b91505092915050565b60008060006060848603121561218557612184611c3d565b5b600061219386828701611c90565b935050602084013567ffffffffffffffff8111156121b4576121b3611c42565b5b6121c086828701611f86565b925050604084013567ffffffffffffffff8111156121e1576121e0611c42565b5b6121ed8682870161213e565b9150509250925092565b60006020828403121561220d5761220c611c3d565b5b600061221b84828501611c90565b91505092915050565b61222d81611c67565b82525050565b60006020820190506122486000830184612224565b92915050565b600080fd5b600067ffffffffffffffff82111561226e5761226d611e71565b5b61227782611bc7565b9050602081019050919050565b82818337600083830152505050565b60006122a66122a184612253565b611ed1565b9050828152602081018484840111156122c2576122c161224e565b5b6122cd848285612284565b509392505050565b600082601f8301126122ea576122e9611e6c565b5b81356122fa848260208601612293565b91505092915050565b6000806040838503121561231a57612319611c3d565b5b600083013567ffffffffffffffff81111561233857612337611c42565b5b612344858286016122d5565b925050602083013567ffffffffffffffff81111561236557612364611c42565b5b612371858286016122d5565b9150509250929050565b6000806040838503121561239257612391611c3d565b5b60006123a085828601611c90565b92505060206123b185828601611c90565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061240257607f821691505b602082108103612415576124146123bb565b5b50919050565b60006040820190506124306000830185612224565b61243d6020830184611d51565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865204f776e6572600082015250565b600061247a602083611b8c565b915061248582612444565b602082019050919050565b600060208201905081810360008301526124a98161246d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061251982611ca5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361254b5761254a6124df565b5b600182019050919050565b7f4163636f756e7420746178206d7573742062652067726561746572207468616e60008201527f206f7220657175616c20746f2030000000000000000000000000000000000000602082015250565b60006125b2602e83611b8c565b91506125bd82612556565b604082019050919050565b600060208201905081810360008301526125e1816125a5565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261264a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261260d565b612654868361260d565b95508019841693508086168417925050509392505050565b6000819050919050565b600061269161268c61268784611ca5565b61266c565b611ca5565b9050919050565b6000819050919050565b6126ab83612676565b6126bf6126b782612698565b84845461261a565b825550505050565b600090565b6126d46126c7565b6126df8184846126a2565b505050565b5b81811015612703576126f86000826126cc565b6001810190506126e5565b5050565b601f82111561274857612719816125e8565b612722846125fd565b81016020851015612731578190505b61274561273d856125fd565b8301826126e4565b50505b505050565b600082821c905092915050565b600061276b6000198460080261274d565b1980831691505092915050565b6000612784838361275a565b9150826002028217905092915050565b61279d82611b81565b67ffffffffffffffff8111156127b6576127b5611e71565b5b6127c082546123ea565b6127cb828285612707565b600060209050601f8311600181146127fe57600084156127ec578287015190505b6127f68582612778565b86555061285e565b601f19841661280c866125e8565b60005b828110156128345784890151825560018201915060208501945060208101905061280f565b86831015612851578489015161284d601f89168261275a565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b600061287c82611b81565b6128868185612866565b9350612896818560208601611b9d565b80840191505092915050565b60006128ae8284612871565b915081905092915050565b7f4f776e61626c653a206e6577204f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612915602683611b8c565b9150612920826128b9565b604082019050919050565b6000602082019050818103600083015261294481612908565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006129a7602483611b8c565b91506129b28261294b565b604082019050919050565b600060208201905081810360008301526129d68161299a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a39602283611b8c565b9150612a44826129dd565b604082019050919050565b60006020820190508181036000830152612a6881612a2c565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612aa5601d83611b8c565b9150612ab082612a6f565b602082019050919050565b60006020820190508181036000830152612ad481612a98565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b37602583611b8c565b9150612b4282612adb565b604082019050919050565b60006020820190508181036000830152612b6681612b2a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bc9602383611b8c565b9150612bd482612b6d565b604082019050919050565b60006020820190508181036000830152612bf881612bbc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612c5b602683611b8c565b9150612c6682612bff565b604082019050919050565b60006020820190508181036000830152612c8a81612c4e565b9050919050565b6000612c9c82611ca5565b9150612ca783611ca5565b9250828203905081811115612cbf57612cbe6124df565b5b92915050565b6000612cd082611ca5565b9150612cdb83611ca5565b9250828202612ce981611ca5565b91508282048414831517612d0057612cff6124df565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d4182611ca5565b9150612d4c83611ca5565b925082612d5c57612d5b612d07565b5b828204905092915050565b6000612d7282611ca5565b9150612d7d83611ca5565b9250828201905080821115612d9557612d946124df565b5b9291505056fea2646970667358221220cd09160a91762f5a0a203a70c8fc78150a9ff447de032bb701dadf9c425cbde964736f6c63430008130033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000055472656e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055452454e44000000000000000000000000000000000000000000000000000000