60806040526000600655604051620032503803806200325083398181016040528101906200002e919062000271565b6040518060a00160405280607d8152602001620031d3607d9139620000686200005c620000c260201b60201c565b620000ca60201b60201c565b62000079816200018e60201b60201c565b5080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000350565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060039080519060200190620001a6929190620001aa565b5050565b828054620001b890620002d1565b90600052602060002090601f016020900481019282620001dc576000855562000228565b82601f10620001f757805160ff191683800117855562000228565b8280016001018555821562000228579182015b82811115620002275782518255916020019190600101906200020a565b5b5090506200023791906200023b565b5090565b5b80821115620002565760008160009055506001016200023c565b5090565b6000815190506200026b8162000336565b92915050565b6000602082840312156200028457600080fd5b600062000294848285016200025a565b91505092915050565b6000620002aa82620002b1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006002820490506001821680620002ea57607f821691505b6020821081141562000301576200030062000307565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b62000341816200029d565b81146200034d57600080fd5b50565b612e7380620003606000396000f3fe6080604052600436106100c15760003560e01c80638da5cb5b1161007f578063ded8187b11610059578063ded8187b14610279578063e985e9c514610295578063f242432a146102d2578063f2fde38b146102fb576100c1565b80638da5cb5b146101fa578063a22cb46514610225578063a3a51bd51461024e576100c1565b8062fdd58e146100c657806301ffc9a7146101035780630e89341c146101405780632eb2c2d61461017d5780634e1273f4146101a6578063715018a6146101e3575b600080fd5b3480156100d257600080fd5b506100ed60048036038101906100e89190611e8f565b610324565b6040516100fa9190612954565b60405180910390f35b34801561010f57600080fd5b5061012a60048036038101906101259190611f37565b6103ee565b6040516101379190612777565b60405180910390f35b34801561014c57600080fd5b5061016760048036038101906101629190611f89565b6104d0565b6040516101749190612792565b60405180910390f35b34801561018957600080fd5b506101a4600480360381019061019f9190611d05565b610564565b005b3480156101b257600080fd5b506101cd60048036038101906101c89190611ecb565b610605565b6040516101da919061271e565b60405180910390f35b3480156101ef57600080fd5b506101f86107b6565b005b34801561020657600080fd5b5061020f61083e565b60405161021c9190612641565b60405180910390f35b34801561023157600080fd5b5061024c60048036038101906102479190611e53565b610867565b005b34801561025a57600080fd5b5061026361087d565b6040516102709190612641565b60405180910390f35b610293600480360381019061028e9190611fb2565b6108a7565b005b3480156102a157600080fd5b506102bc60048036038101906102b79190611cc9565b6109d3565b6040516102c99190612777565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190611dc4565b610a67565b005b34801561030757600080fd5b50610322600480360381019061031d9190611ca0565b610b08565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038c906127f4565b60405180910390fd5b6001600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104b957507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104c957506104c882610c00565b5b9050919050565b6060600380546104df90612c05565b80601f016020809104026020016040519081016040528092919081815260200182805461050b90612c05565b80156105585780601f1061052d57610100808354040283529160200191610558565b820191906000526020600020905b81548152906001019060200180831161053b57829003601f168201915b50505050509050919050565b61056c610c6a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806105b257506105b1856105ac610c6a565b6109d3565b5b6105f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e890612874565b60405180910390fd5b6105fe8585858585610c72565b5050505050565b6060815183511461064b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610642906128f4565b60405180910390fd5b6000835167ffffffffffffffff81111561068e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156106bc5781602001602082028036833780820191505090505b50905060005b84518110156107ab57610755858281518110610707577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151858381518110610748577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610324565b82828151811061078e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050806107a490612c37565b90506106c2565b508091505092915050565b6107be610c6a565b73ffffffffffffffffffffffffffffffffffffffff166107dc61083e565b73ffffffffffffffffffffffffffffffffffffffff1614610832576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610829906128b4565b60405180910390fd5b61083c6000610fd5565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610879610872610c6a565b8383611099565b5050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060065490506108ca3382600160405180602001604052806000815250611206565b6001600660008282546108dd9190612af9565b92505081905550600060065490506001600660008282546108fe9190612af9565b925050819055506000600654905060016006600082825461091f9190612af9565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f7ffdac7e6580f2ea25ed285f218a0a4c17c96a2488b4df5ab91287286494ce5b84838560405161097093929190612998565b60405180910390a23373ffffffffffffffffffffffffffffffffffffffff167f091dd671737d07d57de7cfb594233f068ac389461ce1d05439d53e04f33a67744283886040516109c293929190612998565b60405180910390a250505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610a6f610c6a565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610ab55750610ab485610aaf610c6a565b6109d3565b5b610af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aeb90612834565b60405180910390fd5b610b01858585858561139d565b5050505050565b610b10610c6a565b73ffffffffffffffffffffffffffffffffffffffff16610b2e61083e565b73ffffffffffffffffffffffffffffffffffffffff1614610b84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7b906128b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610beb90612814565b60405180910390fd5b610bfd81610fd5565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b8151835114610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad90612914565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1d90612854565b60405180910390fd5b6000610d30610c6a565b9050610d40818787878787611622565b60005b8451811015610f40576000858281518110610d87577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000858381518110610dcc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905060006001600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6590612894565b60405180910390fd5b8181036001600085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816001600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f259190612af9565b9250508190555050505080610f3990612c37565b9050610d43565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610fb7929190612740565b60405180910390a4610fcd81878787878761162a565b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ff906128d4565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111f99190612777565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90612934565b60405180910390fd5b6000611280610c6a565b90506112a181600087611292886117fa565b61129b886117fa565b87611622565b826001600086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113019190612af9565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62878760405161137f92919061296f565b60405180910390a4611396816000878787876118c0565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490612854565b60405180910390fd5b6000611417610c6a565b9050611437818787611428886117fa565b611431886117fa565b87611622565b60006001600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c690612894565b60405180910390fd5b8381036001600087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836001600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115869190612af9565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161160392919061296f565b60405180910390a46116198288888888886118c0565b50505050505050565b505050505050565b6116498473ffffffffffffffffffffffffffffffffffffffff16611a90565b156117f2578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b815260040161168f95949392919061265c565b602060405180830381600087803b1580156116a957600080fd5b505af19250505080156116da57506040513d601f19601f820116820180604052508101906116d79190611f60565b60015b611769576116e6612d2b565b806116f1575061172e565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117259190612792565b60405180910390fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611760906127b4565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e7906127d4565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561183f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561186d5781602001602082028036833780820191505090505b50905082816000815181106118ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080915050919050565b6118df8473ffffffffffffffffffffffffffffffffffffffff16611a90565b15611a88578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016119259594939291906126c4565b602060405180830381600087803b15801561193f57600080fd5b505af192505050801561197057506040513d601f19601f8201168201806040525081019061196d9190611f60565b60015b6119ff5761197c612d2b565b8061198757506119c4565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb9190612792565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f6906127b4565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7d906127d4565b60405180910390fd5b505b505050505050565b600080823b905060008111915050919050565b6000611ab6611ab184612a00565b6129cf565b90508083825260208201905082856020860282011115611ad557600080fd5b60005b85811015611b055781611aeb8882611bb9565b845260208401935060208301925050600181019050611ad8565b5050509392505050565b6000611b22611b1d84612a2c565b6129cf565b90508083825260208201905082856020860282011115611b4157600080fd5b60005b85811015611b715781611b578882611c8b565b845260208401935060208301925050600181019050611b44565b5050509392505050565b6000611b8e611b8984612a58565b6129cf565b905082815260208101848484011115611ba657600080fd5b611bb1848285612bc3565b509392505050565b600081359050611bc881612de1565b92915050565b600082601f830112611bdf57600080fd5b8135611bef848260208601611aa3565b91505092915050565b600082601f830112611c0957600080fd5b8135611c19848260208601611b0f565b91505092915050565b600081359050611c3181612df8565b92915050565b600081359050611c4681612e0f565b92915050565b600081519050611c5b81612e0f565b92915050565b600082601f830112611c7257600080fd5b8135611c82848260208601611b7b565b91505092915050565b600081359050611c9a81612e26565b92915050565b600060208284031215611cb257600080fd5b6000611cc084828501611bb9565b91505092915050565b60008060408385031215611cdc57600080fd5b6000611cea85828601611bb9565b9250506020611cfb85828601611bb9565b9150509250929050565b600080600080600060a08688031215611d1d57600080fd5b6000611d2b88828901611bb9565b9550506020611d3c88828901611bb9565b945050604086013567ffffffffffffffff811115611d5957600080fd5b611d6588828901611bf8565b935050606086013567ffffffffffffffff811115611d8257600080fd5b611d8e88828901611bf8565b925050608086013567ffffffffffffffff811115611dab57600080fd5b611db788828901611c61565b9150509295509295909350565b600080600080600060a08688031215611ddc57600080fd5b6000611dea88828901611bb9565b9550506020611dfb88828901611bb9565b9450506040611e0c88828901611c8b565b9350506060611e1d88828901611c8b565b925050608086013567ffffffffffffffff811115611e3a57600080fd5b611e4688828901611c61565b9150509295509295909350565b60008060408385031215611e6657600080fd5b6000611e7485828601611bb9565b9250506020611e8585828601611c22565b9150509250929050565b60008060408385031215611ea257600080fd5b6000611eb085828601611bb9565b9250506020611ec185828601611c8b565b9150509250929050565b60008060408385031215611ede57600080fd5b600083013567ffffffffffffffff811115611ef857600080fd5b611f0485828601611bce565b925050602083013567ffffffffffffffff811115611f2157600080fd5b611f2d85828601611bf8565b9150509250929050565b600060208284031215611f4957600080fd5b6000611f5784828501611c37565b91505092915050565b600060208284031215611f7257600080fd5b6000611f8084828501611c4c565b91505092915050565b600060208284031215611f9b57600080fd5b6000611fa984828501611c8b565b91505092915050565b60008060008060808587031215611fc857600080fd5b6000611fd687828801611c8b565b9450506020611fe787828801611c8b565b9350506040611ff887828801611c8b565b925050606061200987828801611c8b565b91505092959194509250565b60006120218383612623565b60208301905092915050565b61203681612b4f565b82525050565b600061204782612a98565b6120518185612ac6565b935061205c83612a88565b8060005b8381101561208d5781516120748882612015565b975061207f83612ab9565b925050600181019050612060565b5085935050505092915050565b6120a381612b61565b82525050565b60006120b482612aa3565b6120be8185612ad7565b93506120ce818560208601612bd2565b6120d781612d0d565b840191505092915050565b60006120ed82612aae565b6120f78185612ae8565b9350612107818560208601612bd2565b61211081612d0d565b840191505092915050565b6000612128603483612ae8565b91507f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008301527f526563656976657220696d706c656d656e7465720000000000000000000000006020830152604082019050919050565b600061218e602883612ae8565b91507f455243313135353a204552433131353552656365697665722072656a6563746560008301527f6420746f6b656e730000000000000000000000000000000000000000000000006020830152604082019050919050565b60006121f4602b83612ae8565b91507f455243313135353a2062616c616e636520717565727920666f7220746865207a60008301527f65726f20616464726573730000000000000000000000000000000000000000006020830152604082019050919050565b600061225a602683612ae8565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006122c0602983612ae8565b91507f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008301527f20617070726f76656400000000000000000000000000000000000000000000006020830152604082019050919050565b6000612326602583612ae8565b91507f455243313135353a207472616e7366657220746f20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061238c603283612ae8565b91507f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008301527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006020830152604082019050919050565b60006123f2602a83612ae8565b91507f455243313135353a20696e73756666696369656e742062616c616e636520666f60008301527f72207472616e73666572000000000000000000000000000000000000000000006020830152604082019050919050565b6000612458602083612ae8565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000612498602983612ae8565b91507f455243313135353a2073657474696e6720617070726f76616c2073746174757360008301527f20666f722073656c6600000000000000000000000000000000000000000000006020830152604082019050919050565b60006124fe602983612ae8565b91507f455243313135353a206163636f756e747320616e6420696473206c656e67746860008301527f206d69736d6174636800000000000000000000000000000000000000000000006020830152604082019050919050565b6000612564602883612ae8565b91507f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008301527f6d69736d617463680000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125ca602183612ae8565b91507f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61262c81612bb9565b82525050565b61263b81612bb9565b82525050565b6000602082019050612656600083018461202d565b92915050565b600060a082019050612671600083018861202d565b61267e602083018761202d565b8181036040830152612690818661203c565b905081810360608301526126a4818561203c565b905081810360808301526126b881846120a9565b90509695505050505050565b600060a0820190506126d9600083018861202d565b6126e6602083018761202d565b6126f36040830186612632565b6127006060830185612632565b818103608083015261271281846120a9565b90509695505050505050565b60006020820190508181036000830152612738818461203c565b905092915050565b6000604082019050818103600083015261275a818561203c565b9050818103602083015261276e818461203c565b90509392505050565b600060208201905061278c600083018461209a565b92915050565b600060208201905081810360008301526127ac81846120e2565b905092915050565b600060208201905081810360008301526127cd8161211b565b9050919050565b600060208201905081810360008301526127ed81612181565b9050919050565b6000602082019050818103600083015261280d816121e7565b9050919050565b6000602082019050818103600083015261282d8161224d565b9050919050565b6000602082019050818103600083015261284d816122b3565b9050919050565b6000602082019050818103600083015261286d81612319565b9050919050565b6000602082019050818103600083015261288d8161237f565b9050919050565b600060208201905081810360008301526128ad816123e5565b9050919050565b600060208201905081810360008301526128cd8161244b565b9050919050565b600060208201905081810360008301526128ed8161248b565b9050919050565b6000602082019050818103600083015261290d816124f1565b9050919050565b6000602082019050818103600083015261292d81612557565b9050919050565b6000602082019050818103600083015261294d816125bd565b9050919050565b60006020820190506129696000830184612632565b92915050565b60006040820190506129846000830185612632565b6129916020830184612632565b9392505050565b60006060820190506129ad6000830186612632565b6129ba6020830185612632565b6129c76040830184612632565b949350505050565b6000604051905081810181811067ffffffffffffffff821117156129f6576129f5612cde565b5b8060405250919050565b600067ffffffffffffffff821115612a1b57612a1a612cde565b5b602082029050602081019050919050565b600067ffffffffffffffff821115612a4757612a46612cde565b5b602082029050602081019050919050565b600067ffffffffffffffff821115612a7357612a72612cde565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b0482612bb9565b9150612b0f83612bb9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b4457612b43612c80565b5b828201905092915050565b6000612b5a82612b99565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612bf0578082015181840152602081019050612bd5565b83811115612bff576000848401525b50505050565b60006002820490506001821680612c1d57607f821691505b60208210811415612c3157612c30612caf565b5b50919050565b6000612c4282612bb9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612c7557612c74612c80565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160e01c9050919050565b600060443d1015612d3b57612dde565b60046000803e612d4c600051612d1e565b6308c379a08114612d5d5750612dde565b60405160043d036004823e80513d602482011167ffffffffffffffff82111715612d8957505050612dde565b808201805167ffffffffffffffff811115612da8575050505050612dde565b8060208301013d8501811115612dc357505050505050612dde565b612dcc82612d0d565b60208401016040528296505050505050505b90565b612dea81612b4f565b8114612df557600080fd5b50565b612e0181612b61565b8114612e0c57600080fd5b50565b612e1881612b6d565b8114612e2357600080fd5b50565b612e2f81612bb9565b8114612e3a57600080fd5b5056fea264697066735822122009098315b9fc5be0fe71b2259689139ea6dc1bbde6f466510b86660b221121e964736f6c6343000800003368747470733a2f2f6a6a6b316b386568633677732e7573656d6f72616c69732e636f6d3a323035332f7365727665722f66756e6374696f6e732f6170693f5f4170706c69636174696f6e49643d356d674879326b704c46496a6d795378377941414a4d75674c473477566e3153736e4f4b5a5a686e2669643d7b69647d000000000000000000000000c05c558df504509add77c07e644f0501824bccd6