Loading
60806040526000600860146101000a81548160ff0219169083151502179055506040518060800160405280605181526020016200387060519139600990805190602001906200005092919062000245565b506103e8600a60006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055503480156200009157600080fd5b506040518060400160405280601881526020017f576520616c6c2041726520476c6974636820746f2054727900000000000000008152506040518060400160405280600581526020017f574147545900000000000000000000000000000000000000000000000000000081525081600290805190602001906200011692919062000245565b5080600390805190602001906200012f92919062000245565b50620001406200016e60201b60201c565b6000819055505050620001686200015c6200017760201b60201c565b6200017f60201b60201c565b62000359565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620002539062000324565b90600052602060002090601f016020900481019282620002775760008555620002c3565b82601f106200029257805160ff1916838001178555620002c3565b82800160010185558215620002c3579182015b82811115620002c2578251825591602001919060010190620002a5565b5b509050620002d29190620002d6565b5090565b5b80821115620002f1576000816000905550600101620002d7565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033d57607f821691505b602082108103620003535762000352620002f5565b5b50919050565b61350780620003696000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063b88d4fde11610097578063dc33e68111610071578063dc33e681146104de578063e8a3d4851461050e578063e985e9c51461052c578063f2fde38b1461055c576101c4565b8063b88d4fde14610476578063c87b56dd14610492578063cac92669146104c2576101c4565b806395d89b41116100d357806395d89b4114610404578063a0712d6814610422578063a0bcfc7f1461043e578063a22cb4651461045a576101c4565b8063715018a6146103be578063893da6c9146103c85780638da5cb5b146103e6576101c4565b80632a55205a1161016657806342842e0e1161014057806342842e0e146103265780634c261247146103425780636352211e1461035e57806370a082311461038e576101c4565b80632a55205a146102bb57806332cb6b0c146102ec578063375a069a1461030a576101c4565b8063095ea7b3116101a2578063095ea7b3146102475780630f2cdd6c1461026357806318160ddd1461028157806323b872dd1461029f576101c4565b806301ffc9a7146101c957806306fdde03146101f9578063081812fc14610217575b600080fd5b6101e360048036038101906101de9190612699565b610578565b6040516101f091906126e1565b60405180910390f35b61020161065a565b60405161020e9190612795565b60405180910390f35b610231600480360381019061022c91906127ed565b6106ec565b60405161023e919061285b565b60405180910390f35b610261600480360381019061025c91906128a2565b610768565b005b61026b610872565b60405161027891906128fe565b60405180910390f35b610289610877565b6040516102969190612928565b60405180910390f35b6102b960048036038101906102b49190612943565b61088e565b005b6102d560048036038101906102d09190612996565b61089e565b6040516102e39291906129d6565b60405180910390f35b6102f461093d565b6040516103019190612a1c565b60405180910390f35b610324600480360381019061031f91906127ed565b610943565b005b610340600480360381019061033b9190612943565b610a6a565b005b61035c60048036038101906103579190612a9c565b610a8a565b005b610378600480360381019061037391906127ed565b610b37565b604051610385919061285b565b60405180910390f35b6103a860048036038101906103a39190612ae9565b610b4d565b6040516103b59190612928565b60405180910390f35b6103c6610c1c565b005b6103d0610ca4565b6040516103dd91906126e1565b60405180910390f35b6103ee610cbb565b6040516103fb919061285b565b60405180910390f35b61040c610ce5565b6040516104199190612795565b60405180910390f35b61043c600480360381019061043791906127ed565b610d77565b005b61045860048036038101906104539190612a9c565b610e7c565b005b610474600480360381019061046f9190612b42565b610f0e565b005b610490600480360381019061048b9190612cb2565b611085565b005b6104ac60048036038101906104a791906127ed565b611101565b6040516104b99190612795565b60405180910390f35b6104dc60048036038101906104d79190612d79565b6111f6565b005b6104f860048036038101906104f39190612ae9565b6112a6565b6040516105059190612928565b60405180910390f35b6105166112b8565b6040516105239190612795565b60405180910390f35b61054660048036038101906105419190612da6565b6112f5565b60405161055391906126e1565b60405180910390f35b61057660048036038101906105719190612ae9565b611389565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061064357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610653575061065282611480565b5b9050919050565b60606002805461066990612e15565b80601f016020809104026020016040519081016040528092919081815260200182805461069590612e15565b80156106e25780601f106106b7576101008083540402835291602001916106e2565b820191906000526020600020905b8154815290600101906020018083116106c557829003601f168201915b5050505050905090565b60006106f7826114ea565b61072d576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061077382610b37565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107da576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107f9611538565b73ffffffffffffffffffffffffffffffffffffffff161415801561082b575061082981610824611538565b6112f5565b155b15610862576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61086d838383611540565b505050565b600681565b60006108816115f2565b6001546000540303905090565b6108998383836115fb565b505050565b6000806108aa846114ea565b6108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e090612e92565b60405180910390fd5b6108f1610cbb565b6103e8600a60009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16856109289190612ee1565b6109329190612f6a565b915091509250929050565b611a0a81565b61094b611538565b73ffffffffffffffffffffffffffffffffffffffff16610969610cbb565b73ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b690612fe7565b60405180910390fd5b60008111610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990613053565b60405180910390fd5b611a0a61ffff1681610a12610877565b610a1c9190613073565b1115610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490613115565b60405180910390fd5b610a673382611aaf565b50565b610a8583838360405180602001604052806000815250611085565b505050565b610a92611538565b73ffffffffffffffffffffffffffffffffffffffff16610ab0610cbb565b73ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90612fe7565b60405180910390fd5b6001600860146101000a81548160ff021916908315150217905550818160099190610b32929190612547565b505050565b6000610b4282611acd565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb4576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b610c24611538565b73ffffffffffffffffffffffffffffffffffffffff16610c42610cbb565b73ffffffffffffffffffffffffffffffffffffffff1614610c98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8f90612fe7565b60405180910390fd5b610ca26000611d5c565b565b6000611a0a61ffff16610cb5610877565b14905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610cf490612e15565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2090612e15565b8015610d6d5780601f10610d4257610100808354040283529160200191610d6d565b820191906000526020600020905b815481529060010190602001808311610d5057829003601f168201915b5050505050905090565b60008111610dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db190613053565b60405180910390fd5b600660ff1681610dc933611e22565b610dd39190613073565b1115610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b90613053565b60405180910390fd5b611a0a61ffff1681610e24610877565b610e2e9190613073565b1115610e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6690613115565b60405180910390fd5b610e793382611aaf565b50565b610e84611538565b73ffffffffffffffffffffffffffffffffffffffff16610ea2610cbb565b73ffffffffffffffffffffffffffffffffffffffff1614610ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eef90612fe7565b60405180910390fd5b818160099190610f09929190612547565b505050565b610f16611538565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f7a576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000610f87611538565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611034611538565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161107991906126e1565b60405180910390a35050565b6110908484846115fb565b6110af8373ffffffffffffffffffffffffffffffffffffffff16611e8c565b80156110c457506110c284848484611eaf565b155b156110fb576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b606061110c826114ea565b611142576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600860149054906101000a900460ff16611193576040518060400160405280600681526020017f68696464656e000000000000000000000000000000000000000000000000000081525061119d565b61119c83611fff565b5b90506000600980546111ae90612e15565b9050036111ca57604051806020016040528060008152506111ee565b6009816040516020016111de929190613251565b6040516020818303038152906040525b915050919050565b6111fe611538565b73ffffffffffffffffffffffffffffffffffffffff1661121c610cbb565b73ffffffffffffffffffffffffffffffffffffffff1614611272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126990612fe7565b60405180910390fd5b80600a60006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555050565b60006112b182611e22565b9050919050565b60606040518060400160405280601d81526020017f68747470733a2f2f6a736f6e6b65657065722e636f6d2f622f39594d4b000000815250905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611391611538565b73ffffffffffffffffffffffffffffffffffffffff166113af610cbb565b73ffffffffffffffffffffffffffffffffffffffff1614611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc90612fe7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b906132f2565b60405180910390fd5b61147d81611d5c565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000816114f56115f2565b11158015611504575060005482105b8015611531575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006001905090565b600061160682611acd565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611671576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16611692611538565b73ffffffffffffffffffffffffffffffffffffffff1614806116c157506116c0856116bb611538565b6112f5565b5b8061170657506116cf611538565b73ffffffffffffffffffffffffffffffffffffffff166116ee846106ec565b73ffffffffffffffffffffffffffffffffffffffff16145b90508061173f576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117a5576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117b2858585600161215f565b6117be60008487611540565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600460008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611a3d576000548214611a3c57878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611aa88585856001612165565b5050505050565b611ac982826040518060200160405280600081525061216b565b5050565b611ad56125cd565b600082905080611ae36115f2565b11158015611af2575060005481105b15611d25576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151611d2357600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611c07578092505050611d57565b5b600115611d2257818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611d1d578092505050611d57565b611c08565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611ed5611538565b8786866040518563ffffffff1660e01b8152600401611ef79493929190613367565b6020604051808303816000875af1925050508015611f3357506040513d601f19601f82011682018060405250810190611f3091906133c8565b60015b611fac573d8060008114611f63576040519150601f19603f3d011682016040523d82523d6000602084013e611f68565b606091505b506000815103611fa4576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b606060008203612046576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061215a565b600082905060005b60008214612078578080612061906133f5565b915050600a826120719190612f6a565b915061204e565b60008167ffffffffffffffff81111561209457612093612b87565b5b6040519080825280601f01601f1916602001820160405280156120c65781602001600182028036833780820191505090505b5090505b60008514612153576001826120df919061343d565b9150600a856120ee9190613471565b60306120fa9190613073565b60f81b8183815181106121105761210f6134a2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561214c9190612f6a565b94506120ca565b8093505050505b919050565b50505050565b50505050565b612178838383600161217d565b505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036121e9576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008403612223576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612230600086838761215f565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600085820190508380156123fa57506123f98773ffffffffffffffffffffffffffffffffffffffff16611e8c565b5b156124bf575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461246f6000888480600101955088611eaf565b6124a5576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082036124005782600054146124ba57600080fd5b61252a565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082036124c0575b8160008190555050506125406000868387612165565b5050505050565b82805461255390612e15565b90600052602060002090601f01602090048101928261257557600085556125bc565b82601f1061258e57803560ff19168380011785556125bc565b828001600101855582156125bc579182015b828111156125bb5782358255916020019190600101906125a0565b5b5090506125c99190612610565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b80821115612629576000816000905550600101612611565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61267681612641565b811461268157600080fd5b50565b6000813590506126938161266d565b92915050565b6000602082840312156126af576126ae612637565b5b60006126bd84828501612684565b91505092915050565b60008115159050919050565b6126db816126c6565b82525050565b60006020820190506126f660008301846126d2565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561273657808201518184015260208101905061271b565b83811115612745576000848401525b50505050565b6000601f19601f8301169050919050565b6000612767826126fc565b6127718185612707565b9350612781818560208601612718565b61278a8161274b565b840191505092915050565b600060208201905081810360008301526127af818461275c565b905092915050565b6000819050919050565b6127ca816127b7565b81146127d557600080fd5b50565b6000813590506127e7816127c1565b92915050565b60006020828403121561280357612802612637565b5b6000612811848285016127d8565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128458261281a565b9050919050565b6128558161283a565b82525050565b6000602082019050612870600083018461284c565b92915050565b61287f8161283a565b811461288a57600080fd5b50565b60008135905061289c81612876565b92915050565b600080604083850312156128b9576128b8612637565b5b60006128c78582860161288d565b92505060206128d8858286016127d8565b9150509250929050565b600060ff82169050919050565b6128f8816128e2565b82525050565b600060208201905061291360008301846128ef565b92915050565b612922816127b7565b82525050565b600060208201905061293d6000830184612919565b92915050565b60008060006060848603121561295c5761295b612637565b5b600061296a8682870161288d565b935050602061297b8682870161288d565b925050604061298c868287016127d8565b9150509250925092565b600080604083850312156129ad576129ac612637565b5b60006129bb858286016127d8565b92505060206129cc858286016127d8565b9150509250929050565b60006040820190506129eb600083018561284c565b6129f86020830184612919565b9392505050565b600061ffff82169050919050565b612a16816129ff565b82525050565b6000602082019050612a316000830184612a0d565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612a5c57612a5b612a37565b5b8235905067ffffffffffffffff811115612a7957612a78612a3c565b5b602083019150836001820283011115612a9557612a94612a41565b5b9250929050565b60008060208385031215612ab357612ab2612637565b5b600083013567ffffffffffffffff811115612ad157612ad061263c565b5b612add85828601612a46565b92509250509250929050565b600060208284031215612aff57612afe612637565b5b6000612b0d8482850161288d565b91505092915050565b612b1f816126c6565b8114612b2a57600080fd5b50565b600081359050612b3c81612b16565b92915050565b60008060408385031215612b5957612b58612637565b5b6000612b678582860161288d565b9250506020612b7885828601612b2d565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bbf8261274b565b810181811067ffffffffffffffff82111715612bde57612bdd612b87565b5b80604052505050565b6000612bf161262d565b9050612bfd8282612bb6565b919050565b600067ffffffffffffffff821115612c1d57612c1c612b87565b5b612c268261274b565b9050602081019050919050565b82818337600083830152505050565b6000612c55612c5084612c02565b612be7565b905082815260208101848484011115612c7157612c70612b82565b5b612c7c848285612c33565b509392505050565b600082601f830112612c9957612c98612a37565b5b8135612ca9848260208601612c42565b91505092915050565b60008060008060808587031215612ccc57612ccb612637565b5b6000612cda8782880161288d565b9450506020612ceb8782880161288d565b9350506040612cfc878288016127d8565b925050606085013567ffffffffffffffff811115612d1d57612d1c61263c565b5b612d2987828801612c84565b91505092959194509250565b60006bffffffffffffffffffffffff82169050919050565b612d5681612d35565b8114612d6157600080fd5b50565b600081359050612d7381612d4d565b92915050565b600060208284031215612d8f57612d8e612637565b5b6000612d9d84828501612d64565b91505092915050565b60008060408385031215612dbd57612dbc612637565b5b6000612dcb8582860161288d565b9250506020612ddc8582860161288d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612e2d57607f821691505b602082108103612e4057612e3f612de6565b5b50919050565b7f43616e6e6f74207175657279206e6f6e2d6578697374656e7420746f6b656e00600082015250565b6000612e7c601f83612707565b9150612e8782612e46565b602082019050919050565b60006020820190508181036000830152612eab81612e6f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612eec826127b7565b9150612ef7836127b7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f3057612f2f612eb2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f75826127b7565b9150612f80836127b7565b925082612f9057612f8f612f3b565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612fd1602083612707565b9150612fdc82612f9b565b602082019050919050565b6000602082019050818103600083015261300081612fc4565b9050919050565b7f494e434f52524543545f5155414e544954590000000000000000000000000000600082015250565b600061303d601283612707565b915061304882613007565b602082019050919050565b6000602082019050818103600083015261306c81613030565b9050919050565b600061307e826127b7565b9150613089836127b7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130be576130bd612eb2565b5b828201905092915050565b7f53414c455f4d4158454400000000000000000000000000000000000000000000600082015250565b60006130ff600a83612707565b915061310a826130c9565b602082019050919050565b6000602082019050818103600083015261312e816130f2565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461316281612e15565b61316c8186613135565b945060018216600081146131875760018114613198576131cb565b60ff198316865281860193506131cb565b6131a185613140565b60005b838110156131c3578154818901526001820191506020810190506131a4565b838801955050505b50505092915050565b60006131df826126fc565b6131e98185613135565b93506131f9818560208601612718565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b600061323b600583613135565b915061324682613205565b600582019050919050565b600061325d8285613155565b915061326982846131d4565b91506132748261322e565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132dc602683612707565b91506132e782613280565b604082019050919050565b6000602082019050818103600083015261330b816132cf565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061333982613312565b613343818561331d565b9350613353818560208601612718565b61335c8161274b565b840191505092915050565b600060808201905061337c600083018761284c565b613389602083018661284c565b6133966040830185612919565b81810360608301526133a8818461332e565b905095945050505050565b6000815190506133c28161266d565b92915050565b6000602082840312156133de576133dd612637565b5b60006133ec848285016133b3565b91505092915050565b6000613400826127b7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361343257613431612eb2565b5b600182019050919050565b6000613448826127b7565b9150613453836127b7565b92508282101561346657613465612eb2565b5b828203905092915050565b600061347c826127b7565b9150613487836127b7565b92508261349757613496612f3b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220589fa8cb1352fb29f1d0474afee0cccdbdf5ed89448c7b3845a5b28d3cbaf33a64736f6c634300080d003368747470733a2f2f77616774792e6d7970696e6174612e636c6f75642f697066732f516d6333413842625a785934456d46734157336e46386a6a4a4c565973326177786a38746b6874567570476b62722f