60806040523480156200001157600080fd5b50733cc6cdda760b79bafa08df41ecfa224f810dceb660016040518060400160405280600a81526020017f506f6c617269734f4773000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f504f4c415249534f4753000000000000000000000000000000000000000000008152508160029081620000a691906200063b565b508060039081620000b891906200063b565b50620000c9620002ee60201b60201c565b600081905550505060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115620002c65780156200018c576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b81526004016200015292919062000767565b600060405180830381600087803b1580156200016d57600080fd5b505af115801562000182573d6000803e3d6000fd5b50505050620002c5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000246576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b81526004016200020c92919062000767565b600060405180830381600087803b1580156200022757600080fd5b505af11580156200023c573d6000803e3d6000fd5b50505050620002c4565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b81526004016200028f919062000794565b600060405180830381600087803b158015620002aa57600080fd5b505af1158015620002bf573d6000803e3d6000fd5b505050505b5b5b5050620002e8620002dc620002f360201b60201c565b620002fb60201b60201c565b620007b1565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200044357607f821691505b602082108103620004595762000458620003fb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000484565b620004cf868362000484565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200051c620005166200051084620004e7565b620004f1565b620004e7565b9050919050565b6000819050919050565b6200053883620004fb565b62000550620005478262000523565b84845462000491565b825550505050565b600090565b6200056762000558565b620005748184846200052d565b505050565b5b818110156200059c57620005906000826200055d565b6001810190506200057a565b5050565b601f821115620005eb57620005b5816200045f565b620005c08462000474565b81016020851015620005d0578190505b620005e8620005df8562000474565b83018262000579565b50505b505050565b600082821c905092915050565b60006200061060001984600802620005f0565b1980831691505092915050565b60006200062b8383620005fd565b9150826002028217905092915050565b6200064682620003c1565b67ffffffffffffffff811115620006625762000661620003cc565b5b6200066e82546200042a565b6200067b828285620005a0565b600060209050601f831160018114620006b357600084156200069e578287015190505b620006aa85826200061d565b8655506200071a565b601f198416620006c3866200045f565b60005b82811015620006ed57848901518255600182019150602085019450602081019050620006c6565b868310156200070d578489015162000709601f891682620005fd565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200074f8262000722565b9050919050565b620007618162000742565b82525050565b60006040820190506200077e600083018562000756565b6200078d602083018462000756565b9392505050565b6000602082019050620007ab600083018462000756565b92915050565b612a7080620007c16000396000f3fe60806040526004361061014b5760003560e01c8063715018a6116100b6578063a22cb4651161006f578063a22cb4651461041c578063b88d4fde14610445578063badb97ff14610461578063c87b56dd1461048a578063e985e9c5146104c7578063f2fde38b146105045761014b565b8063715018a61461035e578063853828b6146103755780638da5cb5b1461037f57806395d89b41146103aa5780639abc8320146103d5578063a0712d68146104005761014b565b80632e1a7d4d116101085780632e1a7d4d1461025857806341f434341461027457806342842e0e1461029f57806355f804b3146102bb5780636352211e146102e457806370a08231146103215761014b565b806301ffc9a71461015057806306fdde031461018d578063081812fc146101b8578063095ea7b3146101f557806318160ddd1461021157806323b872dd1461023c575b600080fd5b34801561015c57600080fd5b5061017760048036038101906101729190611dff565b61052d565b6040516101849190611e47565b60405180910390f35b34801561019957600080fd5b506101a26105bf565b6040516101af9190611efb565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190611f53565b610651565b6040516101ec9190611fc1565b60405180910390f35b61020f600480360381019061020a9190612008565b6106d0565b005b34801561021d57600080fd5b506102266106e9565b6040516102339190612057565b60405180910390f35b61025660048036038101906102519190612072565b610700565b005b610272600480360381019061026d9190611f53565b61074f565b005b34801561028057600080fd5b506102896107a1565b6040516102969190612124565b60405180910390f35b6102b960048036038101906102b49190612072565b6107b3565b005b3480156102c757600080fd5b506102e260048036038101906102dd9190612274565b610802565b005b3480156102f057600080fd5b5061030b60048036038101906103069190611f53565b61081d565b6040516103189190611fc1565b60405180910390f35b34801561032d57600080fd5b50610348600480360381019061034391906122bd565b61082f565b6040516103559190612057565b60405180910390f35b34801561036a57600080fd5b506103736108e7565b005b61037d6108fb565b005b34801561038b57600080fd5b5061039461094c565b6040516103a19190611fc1565b60405180910390f35b3480156103b657600080fd5b506103bf610976565b6040516103cc9190611efb565b60405180910390f35b3480156103e157600080fd5b506103ea610a08565b6040516103f79190611efb565b60405180910390f35b61041a60048036038101906104159190611f53565b610a96565b005b34801561042857600080fd5b50610443600480360381019061043e9190612316565b610aab565b005b61045f600480360381019061045a91906123f7565b610ac4565b005b34801561046d57600080fd5b5061048860048036038101906104839190611f53565b610b15565b005b34801561049657600080fd5b506104b160048036038101906104ac9190611f53565b610b29565b6040516104be9190611efb565b60405180910390f35b3480156104d357600080fd5b506104ee60048036038101906104e9919061247a565b610bc7565b6040516104fb9190611e47565b60405180910390f35b34801561051057600080fd5b5061052b600480360381019061052691906122bd565b610c5b565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061058857506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806105b85750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546105ce906124e9565b80601f01602080910402602001604051908101604052809291908181526020018280546105fa906124e9565b80156106475780601f1061061c57610100808354040283529160200191610647565b820191906000526020600020905b81548152906001019060200180831161062a57829003601f168201915b5050505050905090565b600061065c82610cde565b610692576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b816106da81610d3d565b6106e48383610e3a565b505050565b60006106f3610f7e565b6001546000540303905090565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461073e5761073d33610d3d565b5b610749848484610f83565b50505050565b6107576112a5565b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561079d573d6000803e3d6000fd5b5050565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107f1576107f033610d3d565b5b6107fc848484611323565b50505050565b61080a6112a5565b806009908161081991906126bc565b5050565b600061082882611343565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610896576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b6108ef6112a5565b6108f9600061140f565b565b6109036112a5565b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610949573d6000803e3d6000fd5b50565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610985906124e9565b80601f01602080910402602001604051908101604052809291908181526020018280546109b1906124e9565b80156109fe5780601f106109d3576101008083540402835291602001916109fe565b820191906000526020600020905b8154815290600101906020018083116109e157829003601f168201915b5050505050905090565b60098054610a15906124e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610a41906124e9565b8015610a8e5780601f10610a6357610100808354040283529160200191610a8e565b820191906000526020600020905b815481529060010190602001808311610a7157829003601f168201915b505050505081565b610a9e6112a5565b610aa833826114d5565b50565b81610ab581610d3d565b610abf8383611690565b505050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b0257610b0133610d3d565b5b610b0e8585858561179b565b5050505050565b610b1d6112a5565b610b268161180e565b50565b6060610b3482610cde565b610b6a576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610b7461181c565b90506000815103610b945760405180602001604052806000815250610bbf565b80610b9e846118ae565b604051602001610baf9291906127ca565b6040516020818303038152906040525b915050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610c636112a5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc990612860565b60405180910390fd5b610cdb8161140f565b50565b600081610ce9610f7e565b11158015610cf8575060005482105b8015610d36575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610e37576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401610db4929190612880565b602060405180830381865afa158015610dd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df591906128be565b610e3657806040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610e2d9190611fc1565b60405180910390fd5b5b50565b6000610e458261081d565b90508073ffffffffffffffffffffffffffffffffffffffff16610e666118fe565b73ffffffffffffffffffffffffffffffffffffffff1614610ec957610e9281610e8d6118fe565b610bc7565b610ec8576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b6000610f8e82611343565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ff5576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061100184611906565b9150915061101781876110126118fe565b61192d565b6110635761102c866110276118fe565b610bc7565b611062576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036110c9576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110d68686866001611971565b80156110e157600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055506111af8561118b888887611977565b7c02000000000000000000000000000000000000000000000000000000001761199f565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036112355760006001850190506000600460008381526020019081526020016000205403611233576000548114611232578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461129d86868660016119ca565b505050505050565b6112ad6119d0565b73ffffffffffffffffffffffffffffffffffffffff166112cb61094c565b73ffffffffffffffffffffffffffffffffffffffff1614611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612937565b60405180910390fd5b565b61133e83838360405180602001604052806000815250610ac4565b505050565b60008082905080611352610f7e565b116113d8576000548110156113d75760006004600083815260200190815260200160002054905060007c01000000000000000000000000000000000000000000000000000000008216036113d5575b600081036113cb5760046000836001900393508381526020019081526020016000205490506113a1565b809250505061140a565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008054905060008203611515576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115226000848385611971565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506115998361158a6000866000611977565b611593856119d8565b1761199f565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b81811461163a57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001810190506115ff565b5060008203611675576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600081905550505061168b60008483856119ca565b505050565b806007600061169d6118fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661174a6118fe565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161178f9190611e47565b60405180910390a35050565b6117a6848484610700565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611808576117d1848484846119e8565b611807576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b611819816000611b38565b50565b60606009805461182b906124e9565b80601f0160208091040260200160405190810160405280929190818152602001828054611857906124e9565b80156118a45780601f10611879576101008083540402835291602001916118a4565b820191906000526020600020905b81548152906001019060200180831161188757829003601f168201915b5050505050905090565b606060a060405101806040526020810391506000825281835b6001156118e957600184039350600a81066030018453600a81049050806118c7575b50828103602084039350808452505050919050565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e861198e868684611d8a565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b600033905090565b60006001821460e11b9050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611a0e6118fe565b8786866040518563ffffffff1660e01b8152600401611a3094939291906129ac565b6020604051808303816000875af1925050508015611a6c57506040513d601f19601f82011682018060405250810190611a699190612a0d565b60015b611ae5573d8060008114611a9c576040519150601f19603f3d011682016040523d82523d6000602084013e611aa1565b606091505b506000815103611add576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6000611b4383611343565b90506000819050600080611b5686611906565b915091508415611bbf57611b728184611b6d6118fe565b61192d565b611bbe57611b8783611b826118fe565b610bc7565b611bbd576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5b611bcd836000886001611971565b8015611bd857600082555b600160806001901b03600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611c8083611c3d85600088611977565b7c02000000000000000000000000000000000000000000000000000000007c0100000000000000000000000000000000000000000000000000000000171761199f565b600460008881526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000851603611d065760006001870190506000600460008381526020019081526020016000205403611d04576000548114611d03578460046000838152602001908152602001600020819055505b5b505b85600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d708360008860016119ca565b600160008154809291906001019190505550505050505050565b60009392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ddc81611da7565b8114611de757600080fd5b50565b600081359050611df981611dd3565b92915050565b600060208284031215611e1557611e14611d9d565b5b6000611e2384828501611dea565b91505092915050565b60008115159050919050565b611e4181611e2c565b82525050565b6000602082019050611e5c6000830184611e38565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e9c578082015181840152602081019050611e81565b83811115611eab576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ecd82611e62565b611ed78185611e6d565b9350611ee7818560208601611e7e565b611ef081611eb1565b840191505092915050565b60006020820190508181036000830152611f158184611ec2565b905092915050565b6000819050919050565b611f3081611f1d565b8114611f3b57600080fd5b50565b600081359050611f4d81611f27565b92915050565b600060208284031215611f6957611f68611d9d565b5b6000611f7784828501611f3e565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fab82611f80565b9050919050565b611fbb81611fa0565b82525050565b6000602082019050611fd66000830184611fb2565b92915050565b611fe581611fa0565b8114611ff057600080fd5b50565b60008135905061200281611fdc565b92915050565b6000806040838503121561201f5761201e611d9d565b5b600061202d85828601611ff3565b925050602061203e85828601611f3e565b9150509250929050565b61205181611f1d565b82525050565b600060208201905061206c6000830184612048565b92915050565b60008060006060848603121561208b5761208a611d9d565b5b600061209986828701611ff3565b93505060206120aa86828701611ff3565b92505060406120bb86828701611f3e565b9150509250925092565b6000819050919050565b60006120ea6120e56120e084611f80565b6120c5565b611f80565b9050919050565b60006120fc826120cf565b9050919050565b600061210e826120f1565b9050919050565b61211e81612103565b82525050565b60006020820190506121396000830184612115565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61218182611eb1565b810181811067ffffffffffffffff821117156121a05761219f612149565b5b80604052505050565b60006121b3611d93565b90506121bf8282612178565b919050565b600067ffffffffffffffff8211156121df576121de612149565b5b6121e882611eb1565b9050602081019050919050565b82818337600083830152505050565b6000612217612212846121c4565b6121a9565b90508281526020810184848401111561223357612232612144565b5b61223e8482856121f5565b509392505050565b600082601f83011261225b5761225a61213f565b5b813561226b848260208601612204565b91505092915050565b60006020828403121561228a57612289611d9d565b5b600082013567ffffffffffffffff8111156122a8576122a7611da2565b5b6122b484828501612246565b91505092915050565b6000602082840312156122d3576122d2611d9d565b5b60006122e184828501611ff3565b91505092915050565b6122f381611e2c565b81146122fe57600080fd5b50565b600081359050612310816122ea565b92915050565b6000806040838503121561232d5761232c611d9d565b5b600061233b85828601611ff3565b925050602061234c85828601612301565b9150509250929050565b600067ffffffffffffffff82111561237157612370612149565b5b61237a82611eb1565b9050602081019050919050565b600061239a61239584612356565b6121a9565b9050828152602081018484840111156123b6576123b5612144565b5b6123c18482856121f5565b509392505050565b600082601f8301126123de576123dd61213f565b5b81356123ee848260208601612387565b91505092915050565b6000806000806080858703121561241157612410611d9d565b5b600061241f87828801611ff3565b945050602061243087828801611ff3565b935050604061244187828801611f3e565b925050606085013567ffffffffffffffff81111561246257612461611da2565b5b61246e878288016123c9565b91505092959194509250565b6000806040838503121561249157612490611d9d565b5b600061249f85828601611ff3565b92505060206124b085828601611ff3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061250157607f821691505b602082108103612514576125136124ba565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261257c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261253f565b612586868361253f565b95508019841693508086168417925050509392505050565b60006125b96125b46125af84611f1d565b6120c5565b611f1d565b9050919050565b6000819050919050565b6125d38361259e565b6125e76125df826125c0565b84845461254c565b825550505050565b600090565b6125fc6125ef565b6126078184846125ca565b505050565b5b8181101561262b576126206000826125f4565b60018101905061260d565b5050565b601f821115612670576126418161251a565b61264a8461252f565b81016020851015612659578190505b61266d6126658561252f565b83018261260c565b50505b505050565b600082821c905092915050565b600061269360001984600802612675565b1980831691505092915050565b60006126ac8383612682565b9150826002028217905092915050565b6126c582611e62565b67ffffffffffffffff8111156126de576126dd612149565b5b6126e882546124e9565b6126f382828561262f565b600060209050601f8311600181146127265760008415612714578287015190505b61271e85826126a0565b865550612786565b601f1984166127348661251a565b60005b8281101561275c57848901518255600182019150602085019450602081019050612737565b868310156127795784890151612775601f891682612682565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60006127a482611e62565b6127ae818561278e565b93506127be818560208601611e7e565b80840191505092915050565b60006127d68285612799565b91506127e28284612799565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061284a602683611e6d565b9150612855826127ee565b604082019050919050565b600060208201905081810360008301526128798161283d565b9050919050565b60006040820190506128956000830185611fb2565b6128a26020830184611fb2565b9392505050565b6000815190506128b8816122ea565b92915050565b6000602082840312156128d4576128d3611d9d565b5b60006128e2848285016128a9565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612921602083611e6d565b915061292c826128eb565b602082019050919050565b6000602082019050818103600083015261295081612914565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061297e82612957565b6129888185612962565b9350612998818560208601611e7e565b6129a181611eb1565b840191505092915050565b60006080820190506129c16000830187611fb2565b6129ce6020830186611fb2565b6129db6040830185612048565b81810360608301526129ed8184612973565b905095945050505050565b600081519050612a0781611dd3565b92915050565b600060208284031215612a2357612a22611d9d565b5b6000612a31848285016129f8565b9150509291505056fea2646970667358221220f6e7f24dfa4ecff12e0be47c96de518e41f35af923f8c2443185ccfe00f2f7ae64736f6c634300080f0033