0x60806040523480156200001157600080fd5b5060405162003faa38038062003faa83398181016040528101906200003791906200025b565b6040518060400160405280600981526020017f4c756d694672616d6500000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4c464654000000000000000000000000000000000000000000000000000000008152508160009081620000b4919062000527565b508060019081620000c6919062000527565b505050620000e9620000dd6200014d60201b60201c565b6200015560201b60201c565b818110156200012f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001269062000695565b60405180910390fd5b82600a819055508160088190555080600981905550505050620006b7565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b6000819050919050565b620002358162000220565b81146200024157600080fd5b50565b60008151905062000255816200022a565b92915050565b6000806000606084860312156200027757620002766200021b565b5b6000620002878682870162000244565b93505060206200029a8682870162000244565b9250506040620002ad8682870162000244565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033957607f821691505b6020821081036200034f576200034e620002f1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200037a565b620003c586836200037a565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200040862000402620003fc8462000220565b620003dd565b62000220565b9050919050565b6000819050919050565b6200042483620003e7565b6200043c62000433826200040f565b84845462000387565b825550505050565b600090565b6200045362000444565b6200046081848462000419565b505050565b5b8181101562000488576200047c60008262000449565b60018101905062000466565b5050565b601f821115620004d757620004a18162000355565b620004ac846200036a565b81016020851015620004bc578190505b620004d4620004cb856200036a565b83018262000465565b50505b505050565b600082821c905092915050565b6000620004fc60001984600802620004dc565b1980831691505092915050565b6000620005178383620004e9565b9150826002028217905092915050565b6200053282620002b7565b67ffffffffffffffff8111156200054e576200054d620002c2565b5b6200055a825462000320565b620005678282856200048c565b600060209050601f8311600181146200059f57600084156200058a578287015190505b62000596858262000509565b86555062000606565b601f198416620005af8662000355565b60005b82811015620005d957848901518255600182019150602085019450602081019050620005b2565b86831015620005f95784890151620005f5601f891682620004e9565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f43757272656e74207072696365206d757374206265203e3d206d696e696d756d60008201527f2070726963650000000000000000000000000000000000000000000000000000602082015250565b60006200067d6026836200060e565b91506200068a826200061f565b604082019050919050565b60006020820190508181036000830152620006b0816200066e565b9050919050565b6138e380620006c76000396000f3fe6080604052600436106101f95760003560e01c80639a33fbe91161010d578063c87b56dd116100a0578063e985e9c51161006f578063e985e9c51461072a578063ea01ea2214610767578063eb91d37e146107a4578063f2fde38b146107cf578063f64989fe146107f8576101f9565b8063c87b56dd1461066c578063dea2e0fa146106a9578063e31a8116146106d4578063e45be8eb146106ff576101f9565b8063bc4f33ba116100dc578063bc4f33ba146105c2578063becf8b66146105ed578063bf1b201514610618578063c068875714610643576101f9565b80639a33fbe9146105085780639d1b464a14610545578063a22cb46514610570578063b88d4fde14610599576101f9565b806342842e0e1161019057806370a082311161015f57806370a0823114610447578063715018a614610484578063853828b61461049b5780638da5cb5b146104b257806395d89b41146104dd576101f9565b806342842e0e1461037b57806345cdd63c146103a45780635ea8cd12146103e15780636352211e1461040a576101f9565b80630ac20097116101cc5780630ac20097146102cc57806314f710fe14610309578063190abf271461032757806323b872dd14610352576101f9565b806301ffc9a7146101fe57806306fdde031461023b578063081812fc14610266578063095ea7b3146102a3575b600080fd5b34801561020a57600080fd5b50610225600480360381019061022091906124e9565b610823565b6040516102329190612531565b60405180910390f35b34801561024757600080fd5b50610250610905565b60405161025d91906125dc565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190612634565b610997565b60405161029a91906126a2565b60405180910390f35b3480156102af57600080fd5b506102ca60048036038101906102c591906126e9565b6109dd565b005b3480156102d857600080fd5b506102f360048036038101906102ee9190612729565b610af4565b6040516103009190612814565b60405180910390f35b610311610bf1565b60405161031e9190612845565b60405180910390f35b34801561033357600080fd5b5061033c610cae565b6040516103499190612845565b60405180910390f35b34801561035e57600080fd5b5061037960048036038101906103749190612860565b610cb8565b005b34801561038757600080fd5b506103a2600480360381019061039d9190612860565b610d18565b005b3480156103b057600080fd5b506103cb60048036038101906103c69190612729565b610d38565b6040516103d89190612814565b60405180910390f35b3480156103ed57600080fd5b5061040860048036038101906104039190612634565b610e35565b005b34801561041657600080fd5b50610431600480360381019061042c9190612634565b610ecf565b60405161043e91906126a2565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190612729565b610f55565b60405161047b9190612845565b60405180910390f35b34801561049057600080fd5b5061049961100c565b005b3480156104a757600080fd5b506104b0611020565b005b3480156104be57600080fd5b506104c7611127565b6040516104d491906126a2565b60405180910390f35b3480156104e957600080fd5b506104f2611151565b6040516104ff91906125dc565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a9190612634565b6111e3565b60405161053c91906126a2565b60405180910390f35b34801561055157600080fd5b5061055a61123d565b6040516105679190612845565b60405180910390f35b34801561057c57600080fd5b50610597600480360381019061059291906128df565b611243565b005b3480156105a557600080fd5b506105c060048036038101906105bb9190612a54565b611259565b005b3480156105ce57600080fd5b506105d76112bb565b6040516105e49190612845565b60405180910390f35b3480156105f957600080fd5b506106026112c5565b60405161060f9190612845565b60405180910390f35b34801561062457600080fd5b5061062d6112cf565b60405161063a9190612845565b60405180910390f35b34801561064f57600080fd5b5061066a60048036038101906106659190612634565b6112ed565b005b34801561067857600080fd5b50610693600480360381019061068e9190612634565b611344565b6040516106a091906125dc565b60405180910390f35b3480156106b557600080fd5b506106be6113ac565b6040516106cb9190612845565b60405180910390f35b3480156106e057600080fd5b506106e96113b6565b6040516106f69190612845565b60405180910390f35b34801561070b57600080fd5b506107146113c0565b6040516107219190612845565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c9190612ad7565b6113c6565b60405161075e9190612531565b60405180910390f35b34801561077357600080fd5b5061078e60048036038101906107899190612634565b61145a565b60405161079b91906126a2565b60405180910390f35b3480156107b057600080fd5b506107b96114b4565b6040516107c69190612845565b60405180910390f35b3480156107db57600080fd5b506107f660048036038101906107f19190612729565b6114be565b005b34801561080457600080fd5b5061080d611541565b60405161081a9190612845565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108ee57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108fe57506108fd82611547565b5b9050919050565b60606000805461091490612b46565b80601f016020809104026020016040519081016040528092919081815260200182805461094090612b46565b801561098d5780601f106109625761010080835404028352916020019161098d565b820191906000526020600020905b81548152906001019060200180831161097057829003601f168201915b5050505050905090565b60006109a2826115b1565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006109e882610ecf565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4f90612be9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a776115fc565b73ffffffffffffffffffffffffffffffffffffffff161480610aa65750610aa581610aa06115fc565b6113c6565b5b610ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adc90612c7b565b60405180910390fd5b610aef8383611604565b505050565b60606000610b0183610f55565b905060008167ffffffffffffffff811115610b1f57610b1e612929565b5b604051908082528060200260200182016040528015610b4d5781602001602082028036833780820191505090505b509050600080600190505b610b6260076116bd565b8111610be5578573ffffffffffffffffffffffffffffffffffffffff16610b8882610ecf565b73ffffffffffffffffffffffffffffffffffffffff1603610bd25780838381518110610bb757610bb6612c9b565b5b6020026020010181815250508180610bce90612cf9565b9250505b8080610bdd90612cf9565b915050610b58565b50819350505050919050565b6000600a54610c0060076116bd565b10610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790612d8d565b60405180910390fd5b600954341015610c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7c90612e1f565b60405180910390fd5b610c8f60076116cb565b6000610c9b60076116bd565b9050610ca733826116e1565b8091505090565b6000600954905090565b610cc9610cc36115fc565b826116ff565b610d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cff90612eb1565b60405180910390fd5b610d13838383611794565b505050565b610d3383838360405180602001604052806000815250611259565b505050565b60606000610d4583610f55565b905060008167ffffffffffffffff811115610d6357610d62612929565b5b604051908082528060200260200182016040528015610d915781602001602082028036833780820191505090505b509050600080600190505b610da660076116bd565b8111610e29578573ffffffffffffffffffffffffffffffffffffffff16610dcc82610ecf565b73ffffffffffffffffffffffffffffffffffffffff1603610e165780838381518110610dfb57610dfa612c9b565b5b6020026020010181815250508180610e1290612cf9565b9250505b8080610e2190612cf9565b915050610d9c565b50819350505050919050565b610e3d611a8d565b60008111610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7790612f43565b60405180910390fd5b600954811115610ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebc90612fd5565b60405180910390fd5b8060088190555050565b600080610edb83611b0b565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4390613041565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc906130d3565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611014611a8d565b61101e6000611b48565b565b611028611a8d565b600047905060008111611070576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110679061313f565b60405180910390fd5b600061107a611127565b73ffffffffffffffffffffffffffffffffffffffff168260405161109d90613190565b60006040518083038185875af1925050503d80600081146110da576040519150601f19603f3d011682016040523d82523d6000602084013e6110df565b606091505b5050905080611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a906131f1565b60405180910390fd5b5050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461116090612b46565b80601f016020809104026020016040519081016040528092919081815260200182805461118c90612b46565b80156111d95780601f106111ae576101008083540402835291602001916111d9565b820191906000526020600020905b8154815290600101906020018083116111bc57829003601f168201915b5050505050905090565b60006111ee82611c0e565b61122d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112249061325d565b60405180910390fd5b61123682610ecf565b9050919050565b60095481565b61125561124e6115fc565b8383611c4f565b5050565b61126a6112646115fc565b836116ff565b6112a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a090612eb1565b60405180910390fd5b6112b584848484611dbb565b50505050565b6000600854905090565b6000600954905090565b60006112db60076116bd565b600a546112e8919061327d565b905090565b6112f5611a8d565b60085481101561133a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133190613323565b60405180910390fd5b8060098190555050565b606061134f826115b1565b6000611359611e17565b9050600081511161137957604051806020016040528060008152506113a4565b8061138384611e2e565b60405160200161139492919061337f565b6040516020818303038152906040525b915050919050565b6000600854905090565b6000600854905090565b60085481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061146582611c0e565b6114a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149b9061325d565b60405180910390fd5b6114ad82610ecf565b9050919050565b6000600954905090565b6114c6611a8d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152c90613415565b60405180910390fd5b61153e81611b48565b50565b600a5481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6115ba81611c0e565b6115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f090613041565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661167783610ecf565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6001816000016000828254019250508190555050565b6116fb828260405180602001604052806000815250611efc565b5050565b60008061170b83610ecf565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061174d575061174c81856113c6565b5b8061178b57508373ffffffffffffffffffffffffffffffffffffffff1661177384610997565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166117b482610ecf565b73ffffffffffffffffffffffffffffffffffffffff161461180a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611801906134a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090613539565b60405180910390fd5b6118868383836001611f57565b8273ffffffffffffffffffffffffffffffffffffffff166118a682610ecf565b73ffffffffffffffffffffffffffffffffffffffff16146118fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f3906134a7565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a888383836001611f5d565b505050565b611a956115fc565b73ffffffffffffffffffffffffffffffffffffffff16611ab3611127565b73ffffffffffffffffffffffffffffffffffffffff1614611b09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b00906135a5565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff16611c3083611b0b565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb490613611565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611dae9190612531565b60405180910390a3505050565b611dc6848484611794565b611dd284848484611f63565b611e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e08906136a3565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060006001611e3d846120ea565b01905060008167ffffffffffffffff811115611e5c57611e5b612929565b5b6040519080825280601f01601f191660200182016040528015611e8e5781602001600182028036833780820191505090505b509050600082602001820190505b600115611ef1578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611ee557611ee46136c3565b5b04945060008503611e9c575b819350505050919050565b611f06838361223d565b611f136000848484611f63565b611f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f49906136a3565b60405180910390fd5b505050565b50505050565b50505050565b6000611f848473ffffffffffffffffffffffffffffffffffffffff1661245a565b156120dd578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611fad6115fc565b8786866040518563ffffffff1660e01b8152600401611fcf9493929190613747565b6020604051808303816000875af192505050801561200b57506040513d601f19601f8201168201806040525081019061200891906137a8565b60015b61208d573d806000811461203b576040519150601f19603f3d011682016040523d82523d6000602084013e612040565b606091505b506000815103612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207c906136a3565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506120e2565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612148577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161213e5761213d6136c3565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612185576d04ee2d6d415b85acef8100000000838161217b5761217a6136c3565b5b0492506020810190505b662386f26fc1000083106121b457662386f26fc1000083816121aa576121a96136c3565b5b0492506010810190505b6305f5e10083106121dd576305f5e10083816121d3576121d26136c3565b5b0492506008810190505b61271083106122025761271083816121f8576121f76136c3565b5b0492506004810190505b60648310612225576064838161221b5761221a6136c3565b5b0492506002810190505b600a8310612234576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a390613821565b60405180910390fd5b6122b581611c0e565b156122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec9061388d565b60405180910390fd5b612303600083836001611f57565b61230c81611c0e565b1561234c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123439061388d565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612456600083836001611f5d565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124c681612491565b81146124d157600080fd5b50565b6000813590506124e3816124bd565b92915050565b6000602082840312156124ff576124fe612487565b5b600061250d848285016124d4565b91505092915050565b60008115159050919050565b61252b81612516565b82525050565b60006020820190506125466000830184612522565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561258657808201518184015260208101905061256b565b60008484015250505050565b6000601f19601f8301169050919050565b60006125ae8261254c565b6125b88185612557565b93506125c8818560208601612568565b6125d181612592565b840191505092915050565b600060208201905081810360008301526125f681846125a3565b905092915050565b6000819050919050565b612611816125fe565b811461261c57600080fd5b50565b60008135905061262e81612608565b92915050565b60006020828403121561264a57612649612487565b5b60006126588482850161261f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061268c82612661565b9050919050565b61269c81612681565b82525050565b60006020820190506126b76000830184612693565b92915050565b6126c681612681565b81146126d157600080fd5b50565b6000813590506126e3816126bd565b92915050565b60008060408385031215612700576126ff612487565b5b600061270e858286016126d4565b925050602061271f8582860161261f565b9150509250929050565b60006020828403121561273f5761273e612487565b5b600061274d848285016126d4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61278b816125fe565b82525050565b600061279d8383612782565b60208301905092915050565b6000602082019050919050565b60006127c182612756565b6127cb8185612761565b93506127d683612772565b8060005b838110156128075781516127ee8882612791565b97506127f9836127a9565b9250506001810190506127da565b5085935050505092915050565b6000602082019050818103600083015261282e81846127b6565b905092915050565b61283f816125fe565b82525050565b600060208201905061285a6000830184612836565b92915050565b60008060006060848603121561287957612878612487565b5b6000612887868287016126d4565b9350506020612898868287016126d4565b92505060406128a98682870161261f565b9150509250925092565b6128bc81612516565b81146128c757600080fd5b50565b6000813590506128d9816128b3565b92915050565b600080604083850312156128f6576128f5612487565b5b6000612904858286016126d4565b9250506020612915858286016128ca565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61296182612592565b810181811067ffffffffffffffff821117156129805761297f612929565b5b80604052505050565b600061299361247d565b905061299f8282612958565b919050565b600067ffffffffffffffff8211156129bf576129be612929565b5b6129c882612592565b9050602081019050919050565b82818337600083830152505050565b60006129f76129f2846129a4565b612989565b905082815260208101848484011115612a1357612a12612924565b5b612a1e8482856129d5565b509392505050565b600082601f830112612a3b57612a3a61291f565b5b8135612a4b8482602086016129e4565b91505092915050565b60008060008060808587031215612a6e57612a6d612487565b5b6000612a7c878288016126d4565b9450506020612a8d878288016126d4565b9350506040612a9e8782880161261f565b925050606085013567ffffffffffffffff811115612abf57612abe61248c565b5b612acb87828801612a26565b91505092959194509250565b60008060408385031215612aee57612aed612487565b5b6000612afc858286016126d4565b9250506020612b0d858286016126d4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b5e57607f821691505b602082108103612b7157612b70612b17565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612bd3602183612557565b9150612bde82612b77565b604082019050919050565b60006020820190508181036000830152612c0281612bc6565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612c65603d83612557565b9150612c7082612c09565b604082019050919050565b60006020820190508181036000830152612c9481612c58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d04826125fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d3657612d35612cca565b5b600182019050919050565b7f416c6c204e4654732068617665206265656e206d696e74656400000000000000600082015250565b6000612d77601983612557565b9150612d8282612d41565b602082019050919050565b60006020820190508181036000830152612da681612d6a565b9050919050565b7f4e6f7420656e6f756768204554482073656e743b20636865636b20637572726560008201527f6e74207072696365210000000000000000000000000000000000000000000000602082015250565b6000612e09602983612557565b9150612e1482612dad565b604082019050919050565b60006020820190508181036000830152612e3881612dfc565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612e9b602d83612557565b9150612ea682612e3f565b604082019050919050565b60006020820190508181036000830152612eca81612e8e565b9050919050565b7f4d696e696d756d207072696365206d757374206265206772656174657220746860008201527f616e203000000000000000000000000000000000000000000000000000000000602082015250565b6000612f2d602483612557565b9150612f3882612ed1565b604082019050919050565b60006020820190508181036000830152612f5c81612f20565b9050919050565b7f4d696e696d756d207072696365206d757374206265203c3d2063757272656e7460008201527f2070726963650000000000000000000000000000000000000000000000000000602082015250565b6000612fbf602683612557565b9150612fca82612f63565b604082019050919050565b60006020820190508181036000830152612fee81612fb2565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061302b601883612557565b915061303682612ff5565b602082019050919050565b6000602082019050818103600083015261305a8161301e565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006130bd602983612557565b91506130c882613061565b604082019050919050565b600060208201905081810360008301526130ec816130b0565b9050919050565b7f4e6f2045544820746f2077697468647261770000000000000000000000000000600082015250565b6000613129601283612557565b9150613134826130f3565b602082019050919050565b600060208201905081810360008301526131588161311c565b9050919050565b600081905092915050565b50565b600061317a60008361315f565b91506131858261316a565b600082019050919050565b600061319b8261316d565b9150819050919050565b7f5769746864726177616c206661696c6564000000000000000000000000000000600082015250565b60006131db601183612557565b91506131e6826131a5565b602082019050919050565b6000602082019050818103600083015261320a816131ce565b9050919050565b7f4e465420646f6573206e6f742065786973740000000000000000000000000000600082015250565b6000613247601283612557565b915061325282613211565b602082019050919050565b600060208201905081810360008301526132768161323a565b9050919050565b6000613288826125fe565b9150613293836125fe565b92508282039050818111156132ab576132aa612cca565b5b92915050565b7f43757272656e74207072696365206d757374206265203e3d206d696e696d756d60008201527f2070726963650000000000000000000000000000000000000000000000000000602082015250565b600061330d602683612557565b9150613318826132b1565b604082019050919050565b6000602082019050818103600083015261333c81613300565b9050919050565b600081905092915050565b60006133598261254c565b6133638185613343565b9350613373818560208601612568565b80840191505092915050565b600061338b828561334e565b9150613397828461334e565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133ff602683612557565b915061340a826133a3565b604082019050919050565b6000602082019050818103600083015261342e816133f2565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613491602583612557565b915061349c82613435565b604082019050919050565b600060208201905081810360008301526134c081613484565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613523602483612557565b915061352e826134c7565b604082019050919050565b6000602082019050818103600083015261355281613516565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061358f602083612557565b915061359a82613559565b602082019050919050565b600060208201905081810360008301526135be81613582565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006135fb601983612557565b9150613606826135c5565b602082019050919050565b6000602082019050818103600083015261362a816135ee565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061368d603283612557565b915061369882613631565b604082019050919050565b600060208201905081810360008301526136bc81613680565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000613719826136f2565b61372381856136fd565b9350613733818560208601612568565b61373c81612592565b840191505092915050565b600060808201905061375c6000830187612693565b6137696020830186612693565b6137766040830185612836565b8181036060830152613788818461370e565b905095945050505050565b6000815190506137a2816124bd565b92915050565b6000602082840312156137be576137bd612487565b5b60006137cc84828501613793565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061380b602083612557565b9150613816826137d5565b602082019050919050565b6000602082019050818103600083015261383a816137fe565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613877601c83612557565b915061388282613841565b602082019050919050565b600060208201905081810360008301526138a68161386a565b905091905056fea264697066735822122098d3459c8cb82f8f391b348de44af69afe60977ba161483465e8553f3550c0d764736f6c634300081400330000000000000000000000000000000000000000000000000000000000000dac0000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001cfd7a0d5e000