Mainnet
Testnet
ttttt (TT)

ttttt (TT)

Overview

Max Total supply:
2,000,000
TT
Holders:
19 addresses
Total transfers:
19

Token info

Contract:
Name:
ttttt
Symbol:
TT
Decimals:
18
Token type:
wrc20
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f7474747474000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f74747474740000000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f54540000000000000000000000000000000000000000000000000000000000008152508160039081620000fd919062000fe0565b5080600490816200010f919062000fe0565b5050506200012d6005836200021260201b620011631790919060201c565b6101208181525050620001506006826200021260201b620011631790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200018f6200026f60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200020c33620001e2620002cc60201b60201c565b600a620001f0919062001257565b621e8480620002009190620012a8565b620002d560201b60201c565b620018a8565b600060208351101562000238576200023083620002f060201b60201c565b905062000269565b826200024f836200035d60201b620011a71760201c565b600001908162000260919062000fe0565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620002b195949392919062001364565b60405160208183030381529060405280519060200120905090565b60006012905090565b620002ec82826200036760201b620011b11760201c565b5050565b600080829050601f815111156200034057826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040162000337919062001450565b60405180910390fd5b8051816200034e90620014a6565b60001c1760001b915050919050565b6000819050919050565b6200037e82826200042560201b6200123e1760201c565b6200038e6200059260201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620003bc620005b660201b60201c565b111562000400576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f7906200158c565b60405180910390fd5b6200041f600b620005c060201b620013941783620005d860201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000497576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200048e90620015fe565b60405180910390fd5b620004ab60008383620008fd60201b60201c565b8060026000828254620004bf919062001620565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200057291906200165b565b60405180910390a36200058e600083836200090260201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620005d0919062001620565b905092915050565b6000806000858054905090506000808214620006a8576200060387600184036200091f60201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620006e4565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200071784868860201c565b92506000821180156200074a5750620007356200093460201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620007d25762000766836200095160201b620013aa1760201c565b6200077b88600185036200091f60201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620008f3565b8660405180604001604052806200080b620007f26200093460201b60201c565b65ffffffffffff16620009bf60201b620014151760201c565b63ffffffff1681526020016200082c866200095160201b620013aa1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b6200091a83838362000a1560201b620014681760201c565b505050565b60008260005281602060002001905092915050565b60006200094c4362000a6560201b620014931760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115620009b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009ae90620016ee565b60405180910390fd5b819050919050565b600063ffffffff801682111562000a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a049062001786565b60405180910390fd5b819050919050565b62000a2d83838362000abd60201b620014e81760201c565b62000a6062000a428462000ac260201b60201c565b62000a538462000ac260201b60201c565b8362000b2b60201b60201c565b505050565b600065ffffffffffff801682111562000ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aac906200181e565b60405180910390fd5b819050919050565b505050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000b685750600081115b1562000d4957600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000c5b5760008062000c02600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d4e60201b620014ed1785620005d860201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000c5092919062001840565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000d485760008062000cef600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620005c060201b620013941785620005d860201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000d3d92919062001840565b60405180910390a250505b5b505050565b6000818362000d5e91906200186d565b905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000de857607f821691505b60208210810362000dfe5762000dfd62000da0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e29565b62000e74868362000e29565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ec162000ebb62000eb58462000e8c565b62000e96565b62000e8c565b9050919050565b6000819050919050565b62000edd8362000ea0565b62000ef562000eec8262000ec8565b84845462000e36565b825550505050565b600090565b62000f0c62000efd565b62000f1981848462000ed2565b505050565b5b8181101562000f415762000f3560008262000f02565b60018101905062000f1f565b5050565b601f82111562000f905762000f5a8162000e04565b62000f658462000e19565b8101602085101562000f75578190505b62000f8d62000f848562000e19565b83018262000f1e565b50505b505050565b600082821c905092915050565b600062000fb56000198460080262000f95565b1980831691505092915050565b600062000fd0838362000fa2565b9150826002028217905092915050565b62000feb8262000d66565b67ffffffffffffffff81111562001007576200100662000d71565b5b62001013825462000dcf565b6200102082828562000f45565b600060209050601f83116001811462001058576000841562001043578287015190505b6200104f858262000fc2565b865550620010bf565b601f198416620010688662000e04565b60005b8281101562001092578489015182556001820191506020850194506020810190506200106b565b86831015620010b25784890151620010ae601f89168262000fa2565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001155578086048111156200112d576200112c620010c7565b5b60018516156200113d5780820291505b80810290506200114d85620010f6565b94506200110d565b94509492505050565b60008262001170576001905062001243565b8162001180576000905062001243565b8160018114620011995760028114620011a457620011da565b600191505062001243565b60ff841115620011b957620011b8620010c7565b5b8360020a915084821115620011d357620011d2620010c7565b5b5062001243565b5060208310610133831016604e8410600b8410161715620012145782820a9050838111156200120e576200120d620010c7565b5b62001243565b62001223848484600162001103565b925090508184048111156200123d576200123c620010c7565b5b81810290505b9392505050565b600060ff82169050919050565b6000620012648262000e8c565b915062001271836200124a565b9250620012a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200115e565b905092915050565b6000620012b58262000e8c565b9150620012c28362000e8c565b9250828202620012d28162000e8c565b91508282048414831517620012ec57620012eb620010c7565b5b5092915050565b6000819050919050565b6200130881620012f3565b82525050565b620013198162000e8c565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200134c826200131f565b9050919050565b6200135e816200133f565b82525050565b600060a0820190506200137b6000830188620012fd565b6200138a6020830187620012fd565b620013996040830186620012fd565b620013a860608301856200130e565b620013b7608083018462001353565b9695505050505050565b600082825260208201905092915050565b60005b83811015620013f2578082015181840152602081019050620013d5565b60008484015250505050565b6000601f19601f8301169050919050565b60006200141c8262000d66565b620014288185620013c1565b93506200143a818560208601620013d2565b6200144581620013fe565b840191505092915050565b600060208201905081810360008301526200146c81846200140f565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200149d8251620012f3565b80915050919050565b6000620014b38262001474565b82620014bf846200147f565b9050620014cc816200148f565b925060208210156200150f576200150a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000e29565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600062001574603083620013c1565b9150620015818262001516565b604082019050919050565b60006020820190508181036000830152620015a78162001565565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620015e6601f83620013c1565b9150620015f382620015ae565b602082019050919050565b600060208201905081810360008301526200161981620015d7565b9050919050565b60006200162d8262000e8c565b91506200163a8362000e8c565b9250828201905080821115620016555762001654620010c7565b5b92915050565b60006020820190506200167260008301846200130e565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000620016d6602783620013c1565b9150620016e38262001678565b604082019050919050565b600060208201905081810360008301526200170981620016c7565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006200176e602683620013c1565b91506200177b8262001710565b604082019050919050565b60006020820190508181036000830152620017a1816200175f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001806602683620013c1565b91506200181382620017a8565b604082019050919050565b600060208201905081810360008301526200183981620017f7565b9050919050565b60006040820190506200185760008301856200130e565b6200186660208301846200130e565b9392505050565b60006200187a8262000e8c565b9150620018878362000e8c565b9250828203905081811115620018a257620018a1620010c7565b5b92915050565b60805160a05160c05160e05161010051610120516101405161463e620019036000396000610a22015260006109ee01526000612419015260006123f8015260006119da01526000611a3001526000611a59015261463e6000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f95780639ab24eb011610097578063c3cda52011610071578063c3cda52014610538578063d505accf14610554578063dd62ed3e14610570578063f1127ed8146105a0576101a9565b80639ab24eb0146104a8578063a457c2d7146104d8578063a9059cbb14610508576101a9565b806384b0196e116100d357806384b0196e146104185780638e539e8c1461043c57806391ddadf41461046c57806395d89b411461048a576101a9565b806370a082311461039c57806379cc6790146103cc5780637ecebe00146103e8576101a9565b806339509351116101665780634bf5d7e9116101405780634bf5d7e914610302578063587cde1e146103205780635c19a95c146103505780636fcfff451461036c576101a9565b806339509351146102865780633a46b1a8146102b657806342966c68146102e6576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101fc57806323b872dd1461021a578063313ce5671461024a5780633644e51514610268575b600080fd5b6101b66105d0565b6040516101c39190612cb3565b60405180910390f35b6101e660048036038101906101e19190612d6e565b610662565b6040516101f39190612dc9565b60405180910390f35b610204610685565b6040516102119190612df3565b60405180910390f35b610234600480360381019061022f9190612e0e565b61068f565b6040516102419190612dc9565b60405180910390f35b6102526106be565b60405161025f9190612e7d565b60405180910390f35b6102706106c7565b60405161027d9190612eb1565b60405180910390f35b6102a0600480360381019061029b9190612d6e565b6106d6565b6040516102ad9190612dc9565b60405180910390f35b6102d060048036038101906102cb9190612d6e565b61070d565b6040516102dd9190612df3565b60405180910390f35b61030060048036038101906102fb9190612ecc565b6107b0565b005b61030a6107c4565b6040516103179190612cb3565b60405180910390f35b61033a60048036038101906103359190612ef9565b610852565b6040516103479190612f35565b60405180910390f35b61036a60048036038101906103659190612ef9565b6108bb565b005b61038660048036038101906103819190612ef9565b6108cf565b6040516103939190612f6f565b60405180910390f35b6103b660048036038101906103b19190612ef9565b610923565b6040516103c39190612df3565b60405180910390f35b6103e660048036038101906103e19190612d6e565b61096b565b005b61040260048036038101906103fd9190612ef9565b61098b565b60405161040f9190612df3565b60405180910390f35b6104206109db565b6040516104339796959493929190613083565b60405180910390f35b61045660048036038101906104519190612ecc565b610add565b6040516104639190612df3565b60405180910390f35b610474610b42565b6040516104819190613128565b60405180910390f35b610492610b52565b60405161049f9190612cb3565b60405180910390f35b6104c260048036038101906104bd9190612ef9565b610be4565b6040516104cf9190612df3565b60405180910390f35b6104f260048036038101906104ed9190612d6e565b610cec565b6040516104ff9190612dc9565b60405180910390f35b610522600480360381019061051d9190612d6e565b610d63565b60405161052f9190612dc9565b60405180910390f35b610552600480360381019061054d919061319b565b610d86565b005b61056e60048036038101906105699190613228565b610e8a565b005b61058a600480360381019061058591906132ca565b610fcc565b6040516105979190612df3565b60405180910390f35b6105ba60048036038101906105b59190613336565b611053565b6040516105c791906133eb565b60405180910390f35b6060600380546105df90613435565b80601f016020809104026020016040519081016040528092919081815260200182805461060b90613435565b80156106585780601f1061062d57610100808354040283529160200191610658565b820191906000526020600020905b81548152906001019060200180831161063b57829003601f168201915b5050505050905090565b60008061066d611503565b905061067a81858561150b565b600191505092915050565b6000600254905090565b60008061069a611503565b90506106a78582856116d4565b6106b2858585611760565b60019150509392505050565b60006012905090565b60006106d16119d6565b905090565b6000806106e1611503565b90506107028185856106f38589610fcc565b6106fd9190613495565b61150b565b600191505092915050565b6000610717610b42565b65ffffffffffff168210610760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075790613515565b60405180910390fd5b6107a8600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611a8d565b905092915050565b6107c16107bb611503565b82611bd5565b50565b6060436107cf610b42565b65ffffffffffff1614610817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080e90613581565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6108cc6108c6611503565b82611be3565b50565b600061091c600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611415565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61097d82610977611503565b836116d4565b6109878282611bd5565b5050565b60006109d4600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611cfd565b9050919050565b600060608060008060006060610a1b60057f0000000000000000000000000000000000000000000000000000000000000000611d0b90919063ffffffff16565b610a4f60067f0000000000000000000000000000000000000000000000000000000000000000611d0b90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610a7057610a6f6135a1565b5b604051908082528060200260200182016040528015610a9e5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610ae7610b42565b65ffffffffffff168210610b30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2790613515565b60405180910390fd5b610b3b600b83611a8d565b9050919050565b6000610b4d43611493565b905090565b606060048054610b6190613435565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8d90613435565b8015610bda5780601f10610baf57610100808354040283529160200191610bda565b820191906000526020600020905b815481529060010190602001808311610bbd57829003601f168201915b5050505050905090565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610cc357600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610c8857610c876135d0565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610cc6565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610cf7611503565b90506000610d058286610fcc565b905083811015610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190613671565b60405180910390fd5b610d57828686840361150b565b60019250505092915050565b600080610d6e611503565b9050610d7b818585611760565b600191505092915050565b83421115610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc0906136dd565b60405180910390fd5b6000610e2b610e237fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610e0894939291906136fd565b60405160208183030381529060405280519060200120611dbb565b858585611dd5565b9050610e3681611e00565b8614610e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6e9061378e565b60405180910390fd5b610e818188611be3565b50505050505050565b83421115610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec4906137fa565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610efc8c611e00565b89604051602001610f129695949392919061381a565b6040516020818303038152906040528051906020012090506000610f3582611dbb565b90506000610f4582878787611dd5565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906138c7565b60405180910390fd5b610fc08a8a8a61150b565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61105b612be5565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106110b2576110b16135d0565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b600060208351101561117f5761117883611e5e565b90506111a1565b82611189836111a7565b60000190816111989190613a93565b5060ff60001b90505b92915050565b6000819050919050565b6111bb828261123e565b6111c3611ec6565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166111e9610685565b111561122a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122190613bd7565b60405180910390fd5b611238600b61139483611eea565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490613c43565b60405180910390fd5b6112b9600083836121c5565b80600260008282546112cb9190613495565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161137c9190612df3565b60405180910390a3611390600083836121ca565b5050565b600081836113a29190613495565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490613cd5565b60405180910390fd5b819050919050565b600063ffffffff8016821115611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790613d67565b60405180910390fd5b819050919050565b6114738383836114e8565b61148e61147f84610852565b61148884610852565b836121da565b505050565b600065ffffffffffff80168211156114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d790613df9565b60405180910390fd5b819050919050565b505050565b600081836114fb9190613e19565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361157a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157190613ebf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e090613f51565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116c79190612df3565b60405180910390a3505050565b60006116e08484610fcc565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461175a578181101561174c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174390613fbd565b60405180910390fd5b611759848484840361150b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c69061404f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611835906140e1565b60405180910390fd5b6118498383836121c5565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c690614173565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119bd9190612df3565b60405180910390a36119d08484846121ca565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611a5257507f000000000000000000000000000000000000000000000000000000000000000046145b15611a7f577f00000000000000000000000000000000000000000000000000000000000000009050611a8a565b611a876123d3565b90505b90565b600080838054905090506000808290506005831115611b03576000611ab184612469565b84611abc9190613e19565b905085611ac98883612562565b60000160009054906101000a900463ffffffff1663ffffffff161115611af157809150611b01565b600181611afe9190613495565b92505b505b5b80821015611b63576000611b188383612577565b905085611b258883612562565b60000160009054906101000a900463ffffffff1663ffffffff161115611b4d57809150611b5d565b600181611b5a9190613495565b92505b50611b04565b60008114611ba957611b788660018303612562565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611bac565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611bdf828261259d565b5050565b6000611bee83610852565b90506000611bfb84610923565b905082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611cf78284836121da565b50505050565b600081600001549050919050565b606060ff60001b8314611d2857611d21836125bb565b9050611db5565b818054611d3490613435565b80601f0160208091040260200160405190810160405280929190818152602001828054611d6090613435565b8015611dad5780601f10611d8257610100808354040283529160200191611dad565b820191906000526020600020905b815481529060010190602001808311611d9057829003601f168201915b505050505090505b92915050565b6000611dce611dc86119d6565b8361262f565b9050919050565b6000806000611de687878787612670565b91509150611df381612752565b8192505050949350505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611e4d81611cfd565b9150611e58816128b8565b50919050565b600080829050601f81511115611eab57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401611ea29190612cb3565b60405180910390fd5b805181611eb7906141c3565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000806000858054905090506000808214611fb057611f0c8760018403612562565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050611fec565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061202184868863ffffffff16565b925060008211801561204b5750612036610b42565b65ffffffffffff16816000015163ffffffff16145b156120bc57612059836113aa565b6120668860018503612562565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506121bb565b8660405180604001604052806120e06120d3610b42565b65ffffffffffff16611415565b63ffffffff1681526020016120f4866113aa565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b6121d5838383611468565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122165750600081115b156123ce57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122f45760008061229d600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114ed85611eea565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516122e992919061422a565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146123cd57600080612376600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061139485611eea565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516123c292919061422a565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000463060405160200161244e959493929190614253565b60405160208183030381529060405280519060200120905090565b600080820361247b576000905061255d565b60006001612488846128ce565b901c6001901b905060018184816124a2576124a16142a6565b5b048201901c905060018184816124bb576124ba6142a6565b5b048201901c905060018184816124d4576124d36142a6565b5b048201901c905060018184816124ed576124ec6142a6565b5b048201901c90506001818481612506576125056142a6565b5b048201901c9050600181848161251f5761251e6142a6565b5b048201901c90506001818481612538576125376142a6565b5b048201901c905061255981828581612553576125526142a6565b5b046129af565b9150505b919050565b60008260005281602060002001905092915050565b6000600282841861258891906142d5565b8284166125959190613495565b905092915050565b6125a782826129c8565b6125b5600b6114ed83611eea565b50505050565b606060006125c883612b95565b90506000602067ffffffffffffffff8111156125e7576125e66135a1565b5b6040519080825280601f01601f1916602001820160405280156126195781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156126ab576000600391509150612749565b6000600187878787604051600081526020016040526040516126d09493929190614306565b6020604051602081039080840390855afa1580156126f2573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361274057600060019250925050612749565b80600092509250505b94509492505050565b600060048111156127665761276561434b565b5b8160048111156127795761277861434b565b5b03156128b557600160048111156127935761279261434b565b5b8160048111156127a6576127a561434b565b5b036127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd906143c6565b60405180910390fd5b600260048111156127fa576127f961434b565b5b81600481111561280d5761280c61434b565b5b0361284d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284490614432565b60405180910390fd5b600360048111156128615761286061434b565b5b8160048111156128745761287361434b565b5b036128b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ab906144c4565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c11156128f057608083901c92506080810190505b6000604084901c111561290b57604083901c92506040810190505b6000602084901c111561292657602083901c92506020810190505b6000601084901c111561294157601083901c92506010810190505b6000600884901c111561295c57600883901c92506008810190505b6000600484901c111561297757600483901c92506004810190505b6000600284901c111561299257600283901c92506002810190505b6000600184901c11156129a6576001810190505b80915050919050565b60008183106129be57816129c0565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2e90614556565b60405180910390fd5b612a43826000836121c5565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac0906145e8565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b7c9190612df3565b60405180910390a3612b90836000846121ca565b505050565b60008060ff8360001c169050601f811115612bdc576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c5d578082015181840152602081019050612c42565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c8582612c23565b612c8f8185612c2e565b9350612c9f818560208601612c3f565b612ca881612c69565b840191505092915050565b60006020820190508181036000830152612ccd8184612c7a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0582612cda565b9050919050565b612d1581612cfa565b8114612d2057600080fd5b50565b600081359050612d3281612d0c565b92915050565b6000819050919050565b612d4b81612d38565b8114612d5657600080fd5b50565b600081359050612d6881612d42565b92915050565b60008060408385031215612d8557612d84612cd5565b5b6000612d9385828601612d23565b9250506020612da485828601612d59565b9150509250929050565b60008115159050919050565b612dc381612dae565b82525050565b6000602082019050612dde6000830184612dba565b92915050565b612ded81612d38565b82525050565b6000602082019050612e086000830184612de4565b92915050565b600080600060608486031215612e2757612e26612cd5565b5b6000612e3586828701612d23565b9350506020612e4686828701612d23565b9250506040612e5786828701612d59565b9150509250925092565b600060ff82169050919050565b612e7781612e61565b82525050565b6000602082019050612e926000830184612e6e565b92915050565b6000819050919050565b612eab81612e98565b82525050565b6000602082019050612ec66000830184612ea2565b92915050565b600060208284031215612ee257612ee1612cd5565b5b6000612ef084828501612d59565b91505092915050565b600060208284031215612f0f57612f0e612cd5565b5b6000612f1d84828501612d23565b91505092915050565b612f2f81612cfa565b82525050565b6000602082019050612f4a6000830184612f26565b92915050565b600063ffffffff82169050919050565b612f6981612f50565b82525050565b6000602082019050612f846000830184612f60565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612fbf81612f8a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ffa81612d38565b82525050565b600061300c8383612ff1565b60208301905092915050565b6000602082019050919050565b600061303082612fc5565b61303a8185612fd0565b935061304583612fe1565b8060005b8381101561307657815161305d8882613000565b975061306883613018565b925050600181019050613049565b5085935050505092915050565b600060e082019050613098600083018a612fb6565b81810360208301526130aa8189612c7a565b905081810360408301526130be8188612c7a565b90506130cd6060830187612de4565b6130da6080830186612f26565b6130e760a0830185612ea2565b81810360c08301526130f98184613025565b905098975050505050505050565b600065ffffffffffff82169050919050565b61312281613107565b82525050565b600060208201905061313d6000830184613119565b92915050565b61314c81612e61565b811461315757600080fd5b50565b60008135905061316981613143565b92915050565b61317881612e98565b811461318357600080fd5b50565b6000813590506131958161316f565b92915050565b60008060008060008060c087890312156131b8576131b7612cd5565b5b60006131c689828a01612d23565b96505060206131d789828a01612d59565b95505060406131e889828a01612d59565b94505060606131f989828a0161315a565b935050608061320a89828a01613186565b92505060a061321b89828a01613186565b9150509295509295509295565b600080600080600080600060e0888a03121561324757613246612cd5565b5b60006132558a828b01612d23565b97505060206132668a828b01612d23565b96505060406132778a828b01612d59565b95505060606132888a828b01612d59565b94505060806132998a828b0161315a565b93505060a06132aa8a828b01613186565b92505060c06132bb8a828b01613186565b91505092959891949750929550565b600080604083850312156132e1576132e0612cd5565b5b60006132ef85828601612d23565b925050602061330085828601612d23565b9150509250929050565b61331381612f50565b811461331e57600080fd5b50565b6000813590506133308161330a565b92915050565b6000806040838503121561334d5761334c612cd5565b5b600061335b85828601612d23565b925050602061336c85828601613321565b9150509250929050565b61337f81612f50565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6133b681613385565b82525050565b6040820160008201516133d26000850182613376565b5060208201516133e560208501826133ad565b50505050565b600060408201905061340060008301846133bc565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061344d57607f821691505b6020821081036134605761345f613406565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134a082612d38565b91506134ab83612d38565b92508282019050808211156134c3576134c2613466565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b60006134ff601983612c2e565b915061350a826134c9565b602082019050919050565b6000602082019050818103600083015261352e816134f2565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b600061356b601d83612c2e565b915061357682613535565b602082019050919050565b6000602082019050818103600083015261359a8161355e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061365b602583612c2e565b9150613666826135ff565b604082019050919050565b6000602082019050818103600083015261368a8161364e565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b60006136c7601d83612c2e565b91506136d282613691565b602082019050919050565b600060208201905081810360008301526136f6816136ba565b9050919050565b60006080820190506137126000830187612ea2565b61371f6020830186612f26565b61372c6040830185612de4565b6137396060830184612de4565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613778601983612c2e565b915061378382613742565b602082019050919050565b600060208201905081810360008301526137a78161376b565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006137e4601d83612c2e565b91506137ef826137ae565b602082019050919050565b60006020820190508181036000830152613813816137d7565b9050919050565b600060c08201905061382f6000830189612ea2565b61383c6020830188612f26565b6138496040830187612f26565b6138566060830186612de4565b6138636080830185612de4565b61387060a0830184612de4565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006138b1601e83612c2e565b91506138bc8261387b565b602082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026139497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261390c565b613953868361390c565b95508019841693508086168417925050509392505050565b6000819050919050565b600061399061398b61398684612d38565b61396b565b612d38565b9050919050565b6000819050919050565b6139aa83613975565b6139be6139b682613997565b848454613919565b825550505050565b600090565b6139d36139c6565b6139de8184846139a1565b505050565b5b81811015613a02576139f76000826139cb565b6001810190506139e4565b5050565b601f821115613a4757613a18816138e7565b613a21846138fc565b81016020851015613a30578190505b613a44613a3c856138fc565b8301826139e3565b50505b505050565b600082821c905092915050565b6000613a6a60001984600802613a4c565b1980831691505092915050565b6000613a838383613a59565b9150826002028217905092915050565b613a9c82612c23565b67ffffffffffffffff811115613ab557613ab46135a1565b5b613abf8254613435565b613aca828285613a06565b600060209050601f831160018114613afd5760008415613aeb578287015190505b613af58582613a77565b865550613b5d565b601f198416613b0b866138e7565b60005b82811015613b3357848901518255600182019150602085019450602081019050613b0e565b86831015613b505784890151613b4c601f891682613a59565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000613bc1603083612c2e565b9150613bcc82613b65565b604082019050919050565b60006020820190508181036000830152613bf081613bb4565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613c2d601f83612c2e565b9150613c3882613bf7565b602082019050919050565b60006020820190508181036000830152613c5c81613c20565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000613cbf602783612c2e565b9150613cca82613c63565b604082019050919050565b60006020820190508181036000830152613cee81613cb2565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000613d51602683612c2e565b9150613d5c82613cf5565b604082019050919050565b60006020820190508181036000830152613d8081613d44565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000613de3602683612c2e565b9150613dee82613d87565b604082019050919050565b60006020820190508181036000830152613e1281613dd6565b9050919050565b6000613e2482612d38565b9150613e2f83612d38565b9250828203905081811115613e4757613e46613466565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ea9602483612c2e565b9150613eb482613e4d565b604082019050919050565b60006020820190508181036000830152613ed881613e9c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f3b602283612c2e565b9150613f4682613edf565b604082019050919050565b60006020820190508181036000830152613f6a81613f2e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613fa7601d83612c2e565b9150613fb282613f71565b602082019050919050565b60006020820190508181036000830152613fd681613f9a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614039602583612c2e565b915061404482613fdd565b604082019050919050565b600060208201905081810360008301526140688161402c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006140cb602383612c2e565b91506140d68261406f565b604082019050919050565b600060208201905081810360008301526140fa816140be565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061415d602683612c2e565b915061416882614101565b604082019050919050565b6000602082019050818103600083015261418c81614150565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006141ba8251612e98565b80915050919050565b60006141ce82614193565b826141d88461419e565b90506141e3816141ae565b925060208210156142235761421e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261390c565b831692505b5050919050565b600060408201905061423f6000830185612de4565b61424c6020830184612de4565b9392505050565b600060a0820190506142686000830188612ea2565b6142756020830187612ea2565b6142826040830186612ea2565b61428f6060830185612de4565b61429c6080830184612f26565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006142e082612d38565b91506142eb83612d38565b9250826142fb576142fa6142a6565b5b828204905092915050565b600060808201905061431b6000830187612ea2565b6143286020830186612e6e565b6143356040830185612ea2565b6143426060830184612ea2565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006143b0601883612c2e565b91506143bb8261437a565b602082019050919050565b600060208201905081810360008301526143df816143a3565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061441c601f83612c2e565b9150614427826143e6565b602082019050919050565b6000602082019050818103600083015261444b8161440f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006144ae602283612c2e565b91506144b982614452565b604082019050919050565b600060208201905081810360008301526144dd816144a1565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614540602183612c2e565b915061454b826144e4565b604082019050919050565b6000602082019050818103600083015261456f81614533565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006145d2602283612c2e565b91506145dd82614576565b604082019050919050565b60006020820190508181036000830152614601816145c5565b905091905056fea264697066735822122012fbbd86ae625321925907fd5cf3317f7409d4bd5a6668bb0ad5b3e17fee64ca64736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f95780639ab24eb011610097578063c3cda52011610071578063c3cda52014610538578063d505accf14610554578063dd62ed3e14610570578063f1127ed8146105a0576101a9565b80639ab24eb0146104a8578063a457c2d7146104d8578063a9059cbb14610508576101a9565b806384b0196e116100d357806384b0196e146104185780638e539e8c1461043c57806391ddadf41461046c57806395d89b411461048a576101a9565b806370a082311461039c57806379cc6790146103cc5780637ecebe00146103e8576101a9565b806339509351116101665780634bf5d7e9116101405780634bf5d7e914610302578063587cde1e146103205780635c19a95c146103505780636fcfff451461036c576101a9565b806339509351146102865780633a46b1a8146102b657806342966c68146102e6576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101fc57806323b872dd1461021a578063313ce5671461024a5780633644e51514610268575b600080fd5b6101b66105d0565b6040516101c39190612cb3565b60405180910390f35b6101e660048036038101906101e19190612d6e565b610662565b6040516101f39190612dc9565b60405180910390f35b610204610685565b6040516102119190612df3565b60405180910390f35b610234600480360381019061022f9190612e0e565b61068f565b6040516102419190612dc9565b60405180910390f35b6102526106be565b60405161025f9190612e7d565b60405180910390f35b6102706106c7565b60405161027d9190612eb1565b60405180910390f35b6102a0600480360381019061029b9190612d6e565b6106d6565b6040516102ad9190612dc9565b60405180910390f35b6102d060048036038101906102cb9190612d6e565b61070d565b6040516102dd9190612df3565b60405180910390f35b61030060048036038101906102fb9190612ecc565b6107b0565b005b61030a6107c4565b6040516103179190612cb3565b60405180910390f35b61033a60048036038101906103359190612ef9565b610852565b6040516103479190612f35565b60405180910390f35b61036a60048036038101906103659190612ef9565b6108bb565b005b61038660048036038101906103819190612ef9565b6108cf565b6040516103939190612f6f565b60405180910390f35b6103b660048036038101906103b19190612ef9565b610923565b6040516103c39190612df3565b60405180910390f35b6103e660048036038101906103e19190612d6e565b61096b565b005b61040260048036038101906103fd9190612ef9565b61098b565b60405161040f9190612df3565b60405180910390f35b6104206109db565b6040516104339796959493929190613083565b60405180910390f35b61045660048036038101906104519190612ecc565b610add565b6040516104639190612df3565b60405180910390f35b610474610b42565b6040516104819190613128565b60405180910390f35b610492610b52565b60405161049f9190612cb3565b60405180910390f35b6104c260048036038101906104bd9190612ef9565b610be4565b6040516104cf9190612df3565b60405180910390f35b6104f260048036038101906104ed9190612d6e565b610cec565b6040516104ff9190612dc9565b60405180910390f35b610522600480360381019061051d9190612d6e565b610d63565b60405161052f9190612dc9565b60405180910390f35b610552600480360381019061054d919061319b565b610d86565b005b61056e60048036038101906105699190613228565b610e8a565b005b61058a600480360381019061058591906132ca565b610fcc565b6040516105979190612df3565b60405180910390f35b6105ba60048036038101906105b59190613336565b611053565b6040516105c791906133eb565b60405180910390f35b6060600380546105df90613435565b80601f016020809104026020016040519081016040528092919081815260200182805461060b90613435565b80156106585780601f1061062d57610100808354040283529160200191610658565b820191906000526020600020905b81548152906001019060200180831161063b57829003601f168201915b5050505050905090565b60008061066d611503565b905061067a81858561150b565b600191505092915050565b6000600254905090565b60008061069a611503565b90506106a78582856116d4565b6106b2858585611760565b60019150509392505050565b60006012905090565b60006106d16119d6565b905090565b6000806106e1611503565b90506107028185856106f38589610fcc565b6106fd9190613495565b61150b565b600191505092915050565b6000610717610b42565b65ffffffffffff168210610760576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075790613515565b60405180910390fd5b6107a8600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611a8d565b905092915050565b6107c16107bb611503565b82611bd5565b50565b6060436107cf610b42565b65ffffffffffff1614610817576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080e90613581565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6108cc6108c6611503565b82611be3565b50565b600061091c600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611415565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61097d82610977611503565b836116d4565b6109878282611bd5565b5050565b60006109d4600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611cfd565b9050919050565b600060608060008060006060610a1b60057f7474747474000000000000000000000000000000000000000000000000000005611d0b90919063ffffffff16565b610a4f60067f3100000000000000000000000000000000000000000000000000000000000001611d0b90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610a7057610a6f6135a1565b5b604051908082528060200260200182016040528015610a9e5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610ae7610b42565b65ffffffffffff168210610b30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2790613515565b60405180910390fd5b610b3b600b83611a8d565b9050919050565b6000610b4d43611493565b905090565b606060048054610b6190613435565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8d90613435565b8015610bda5780601f10610baf57610100808354040283529160200191610bda565b820191906000526020600020905b815481529060010190602001808311610bbd57829003601f168201915b5050505050905090565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610cc357600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610c8857610c876135d0565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610cc6565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610cf7611503565b90506000610d058286610fcc565b905083811015610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190613671565b60405180910390fd5b610d57828686840361150b565b60019250505092915050565b600080610d6e611503565b9050610d7b818585611760565b600191505092915050565b83421115610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc0906136dd565b60405180910390fd5b6000610e2b610e237fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610e0894939291906136fd565b60405160208183030381529060405280519060200120611dbb565b858585611dd5565b9050610e3681611e00565b8614610e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6e9061378e565b60405180910390fd5b610e818188611be3565b50505050505050565b83421115610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec4906137fa565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610efc8c611e00565b89604051602001610f129695949392919061381a565b6040516020818303038152906040528051906020012090506000610f3582611dbb565b90506000610f4582878787611dd5565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906138c7565b60405180910390fd5b610fc08a8a8a61150b565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61105b612be5565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106110b2576110b16135d0565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b600060208351101561117f5761117883611e5e565b90506111a1565b82611189836111a7565b60000190816111989190613a93565b5060ff60001b90505b92915050565b6000819050919050565b6111bb828261123e565b6111c3611ec6565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166111e9610685565b111561122a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122190613bd7565b60405180910390fd5b611238600b61139483611eea565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a490613c43565b60405180910390fd5b6112b9600083836121c5565b80600260008282546112cb9190613495565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161137c9190612df3565b60405180910390a3611390600083836121ca565b5050565b600081836113a29190613495565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490613cd5565b60405180910390fd5b819050919050565b600063ffffffff8016821115611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790613d67565b60405180910390fd5b819050919050565b6114738383836114e8565b61148e61147f84610852565b61148884610852565b836121da565b505050565b600065ffffffffffff80168211156114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d790613df9565b60405180910390fd5b819050919050565b505050565b600081836114fb9190613e19565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361157a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157190613ebf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e090613f51565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116c79190612df3565b60405180910390a3505050565b60006116e08484610fcc565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461175a578181101561174c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174390613fbd565b60405180910390fd5b611759848484840361150b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c69061404f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611835906140e1565b60405180910390fd5b6118498383836121c5565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c690614173565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119bd9190612df3565b60405180910390a36119d08484846121ca565b50505050565b60007f0000000000000000000000002cfc23678bdf294597751641f48c3e25676fd0fc73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611a5257507f0000000000000000000000000000000000000000000000000000000000000a4146145b15611a7f577f0d2491f560b490ae597e1abd6c75a59f529f09becbce0fc43bdf1f280da18c789050611a8a565b611a876123d3565b90505b90565b600080838054905090506000808290506005831115611b03576000611ab184612469565b84611abc9190613e19565b905085611ac98883612562565b60000160009054906101000a900463ffffffff1663ffffffff161115611af157809150611b01565b600181611afe9190613495565b92505b505b5b80821015611b63576000611b188383612577565b905085611b258883612562565b60000160009054906101000a900463ffffffff1663ffffffff161115611b4d57809150611b5d565b600181611b5a9190613495565b92505b50611b04565b60008114611ba957611b788660018303612562565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611bac565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611bdf828261259d565b5050565b6000611bee83610852565b90506000611bfb84610923565b905082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611cf78284836121da565b50505050565b600081600001549050919050565b606060ff60001b8314611d2857611d21836125bb565b9050611db5565b818054611d3490613435565b80601f0160208091040260200160405190810160405280929190818152602001828054611d6090613435565b8015611dad5780601f10611d8257610100808354040283529160200191611dad565b820191906000526020600020905b815481529060010190602001808311611d9057829003601f168201915b505050505090505b92915050565b6000611dce611dc86119d6565b8361262f565b9050919050565b6000806000611de687878787612670565b91509150611df381612752565b8192505050949350505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611e4d81611cfd565b9150611e58816128b8565b50919050565b600080829050601f81511115611eab57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401611ea29190612cb3565b60405180910390fd5b805181611eb7906141c3565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000806000858054905090506000808214611fb057611f0c8760018403612562565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050611fec565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061202184868863ffffffff16565b925060008211801561204b5750612036610b42565b65ffffffffffff16816000015163ffffffff16145b156120bc57612059836113aa565b6120668860018503612562565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506121bb565b8660405180604001604052806120e06120d3610b42565b65ffffffffffff16611415565b63ffffffff1681526020016120f4866113aa565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b6121d5838383611468565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122165750600081115b156123ce57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146122f45760008061229d600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114ed85611eea565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516122e992919061422a565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146123cd57600080612376600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061139485611eea565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516123c292919061422a565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fd315df1600d6291e6cfa996257469ee8e861a72e687dd41bacef048230db5ba07fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200161244e959493929190614253565b60405160208183030381529060405280519060200120905090565b600080820361247b576000905061255d565b60006001612488846128ce565b901c6001901b905060018184816124a2576124a16142a6565b5b048201901c905060018184816124bb576124ba6142a6565b5b048201901c905060018184816124d4576124d36142a6565b5b048201901c905060018184816124ed576124ec6142a6565b5b048201901c90506001818481612506576125056142a6565b5b048201901c9050600181848161251f5761251e6142a6565b5b048201901c90506001818481612538576125376142a6565b5b048201901c905061255981828581612553576125526142a6565b5b046129af565b9150505b919050565b60008260005281602060002001905092915050565b6000600282841861258891906142d5565b8284166125959190613495565b905092915050565b6125a782826129c8565b6125b5600b6114ed83611eea565b50505050565b606060006125c883612b95565b90506000602067ffffffffffffffff8111156125e7576125e66135a1565b5b6040519080825280601f01601f1916602001820160405280156126195781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156126ab576000600391509150612749565b6000600187878787604051600081526020016040526040516126d09493929190614306565b6020604051602081039080840390855afa1580156126f2573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361274057600060019250925050612749565b80600092509250505b94509492505050565b600060048111156127665761276561434b565b5b8160048111156127795761277861434b565b5b03156128b557600160048111156127935761279261434b565b5b8160048111156127a6576127a561434b565b5b036127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd906143c6565b60405180910390fd5b600260048111156127fa576127f961434b565b5b81600481111561280d5761280c61434b565b5b0361284d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284490614432565b60405180910390fd5b600360048111156128615761286061434b565b5b8160048111156128745761287361434b565b5b036128b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ab906144c4565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c11156128f057608083901c92506080810190505b6000604084901c111561290b57604083901c92506040810190505b6000602084901c111561292657602083901c92506020810190505b6000601084901c111561294157601083901c92506010810190505b6000600884901c111561295c57600883901c92506008810190505b6000600484901c111561297757600483901c92506004810190505b6000600284901c111561299257600283901c92506002810190505b6000600184901c11156129a6576001810190505b80915050919050565b60008183106129be57816129c0565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2e90614556565b60405180910390fd5b612a43826000836121c5565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac0906145e8565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b7c9190612df3565b60405180910390a3612b90836000846121ca565b505050565b60008060ff8360001c169050601f811115612bdc576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c5d578082015181840152602081019050612c42565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c8582612c23565b612c8f8185612c2e565b9350612c9f818560208601612c3f565b612ca881612c69565b840191505092915050565b60006020820190508181036000830152612ccd8184612c7a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0582612cda565b9050919050565b612d1581612cfa565b8114612d2057600080fd5b50565b600081359050612d3281612d0c565b92915050565b6000819050919050565b612d4b81612d38565b8114612d5657600080fd5b50565b600081359050612d6881612d42565b92915050565b60008060408385031215612d8557612d84612cd5565b5b6000612d9385828601612d23565b9250506020612da485828601612d59565b9150509250929050565b60008115159050919050565b612dc381612dae565b82525050565b6000602082019050612dde6000830184612dba565b92915050565b612ded81612d38565b82525050565b6000602082019050612e086000830184612de4565b92915050565b600080600060608486031215612e2757612e26612cd5565b5b6000612e3586828701612d23565b9350506020612e4686828701612d23565b9250506040612e5786828701612d59565b9150509250925092565b600060ff82169050919050565b612e7781612e61565b82525050565b6000602082019050612e926000830184612e6e565b92915050565b6000819050919050565b612eab81612e98565b82525050565b6000602082019050612ec66000830184612ea2565b92915050565b600060208284031215612ee257612ee1612cd5565b5b6000612ef084828501612d59565b91505092915050565b600060208284031215612f0f57612f0e612cd5565b5b6000612f1d84828501612d23565b91505092915050565b612f2f81612cfa565b82525050565b6000602082019050612f4a6000830184612f26565b92915050565b600063ffffffff82169050919050565b612f6981612f50565b82525050565b6000602082019050612f846000830184612f60565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612fbf81612f8a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ffa81612d38565b82525050565b600061300c8383612ff1565b60208301905092915050565b6000602082019050919050565b600061303082612fc5565b61303a8185612fd0565b935061304583612fe1565b8060005b8381101561307657815161305d8882613000565b975061306883613018565b925050600181019050613049565b5085935050505092915050565b600060e082019050613098600083018a612fb6565b81810360208301526130aa8189612c7a565b905081810360408301526130be8188612c7a565b90506130cd6060830187612de4565b6130da6080830186612f26565b6130e760a0830185612ea2565b81810360c08301526130f98184613025565b905098975050505050505050565b600065ffffffffffff82169050919050565b61312281613107565b82525050565b600060208201905061313d6000830184613119565b92915050565b61314c81612e61565b811461315757600080fd5b50565b60008135905061316981613143565b92915050565b61317881612e98565b811461318357600080fd5b50565b6000813590506131958161316f565b92915050565b60008060008060008060c087890312156131b8576131b7612cd5565b5b60006131c689828a01612d23565b96505060206131d789828a01612d59565b95505060406131e889828a01612d59565b94505060606131f989828a0161315a565b935050608061320a89828a01613186565b92505060a061321b89828a01613186565b9150509295509295509295565b600080600080600080600060e0888a03121561324757613246612cd5565b5b60006132558a828b01612d23565b97505060206132668a828b01612d23565b96505060406132778a828b01612d59565b95505060606132888a828b01612d59565b94505060806132998a828b0161315a565b93505060a06132aa8a828b01613186565b92505060c06132bb8a828b01613186565b91505092959891949750929550565b600080604083850312156132e1576132e0612cd5565b5b60006132ef85828601612d23565b925050602061330085828601612d23565b9150509250929050565b61331381612f50565b811461331e57600080fd5b50565b6000813590506133308161330a565b92915050565b6000806040838503121561334d5761334c612cd5565b5b600061335b85828601612d23565b925050602061336c85828601613321565b9150509250929050565b61337f81612f50565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6133b681613385565b82525050565b6040820160008201516133d26000850182613376565b5060208201516133e560208501826133ad565b50505050565b600060408201905061340060008301846133bc565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061344d57607f821691505b6020821081036134605761345f613406565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134a082612d38565b91506134ab83612d38565b92508282019050808211156134c3576134c2613466565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b60006134ff601983612c2e565b915061350a826134c9565b602082019050919050565b6000602082019050818103600083015261352e816134f2565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b600061356b601d83612c2e565b915061357682613535565b602082019050919050565b6000602082019050818103600083015261359a8161355e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061365b602583612c2e565b9150613666826135ff565b604082019050919050565b6000602082019050818103600083015261368a8161364e565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b60006136c7601d83612c2e565b91506136d282613691565b602082019050919050565b600060208201905081810360008301526136f6816136ba565b9050919050565b60006080820190506137126000830187612ea2565b61371f6020830186612f26565b61372c6040830185612de4565b6137396060830184612de4565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613778601983612c2e565b915061378382613742565b602082019050919050565b600060208201905081810360008301526137a78161376b565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006137e4601d83612c2e565b91506137ef826137ae565b602082019050919050565b60006020820190508181036000830152613813816137d7565b9050919050565b600060c08201905061382f6000830189612ea2565b61383c6020830188612f26565b6138496040830187612f26565b6138566060830186612de4565b6138636080830185612de4565b61387060a0830184612de4565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006138b1601e83612c2e565b91506138bc8261387b565b602082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026139497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261390c565b613953868361390c565b95508019841693508086168417925050509392505050565b6000819050919050565b600061399061398b61398684612d38565b61396b565b612d38565b9050919050565b6000819050919050565b6139aa83613975565b6139be6139b682613997565b848454613919565b825550505050565b600090565b6139d36139c6565b6139de8184846139a1565b505050565b5b81811015613a02576139f76000826139cb565b6001810190506139e4565b5050565b601f821115613a4757613a18816138e7565b613a21846138fc565b81016020851015613a30578190505b613a44613a3c856138fc565b8301826139e3565b50505b505050565b600082821c905092915050565b6000613a6a60001984600802613a4c565b1980831691505092915050565b6000613a838383613a59565b9150826002028217905092915050565b613a9c82612c23565b67ffffffffffffffff811115613ab557613ab46135a1565b5b613abf8254613435565b613aca828285613a06565b600060209050601f831160018114613afd5760008415613aeb578287015190505b613af58582613a77565b865550613b5d565b601f198416613b0b866138e7565b60005b82811015613b3357848901518255600182019150602085019450602081019050613b0e565b86831015613b505784890151613b4c601f891682613a59565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000613bc1603083612c2e565b9150613bcc82613b65565b604082019050919050565b60006020820190508181036000830152613bf081613bb4565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613c2d601f83612c2e565b9150613c3882613bf7565b602082019050919050565b60006020820190508181036000830152613c5c81613c20565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000613cbf602783612c2e565b9150613cca82613c63565b604082019050919050565b60006020820190508181036000830152613cee81613cb2565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000613d51602683612c2e565b9150613d5c82613cf5565b604082019050919050565b60006020820190508181036000830152613d8081613d44565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000613de3602683612c2e565b9150613dee82613d87565b604082019050919050565b60006020820190508181036000830152613e1281613dd6565b9050919050565b6000613e2482612d38565b9150613e2f83612d38565b9250828203905081811115613e4757613e46613466565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ea9602483612c2e565b9150613eb482613e4d565b604082019050919050565b60006020820190508181036000830152613ed881613e9c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f3b602283612c2e565b9150613f4682613edf565b604082019050919050565b60006020820190508181036000830152613f6a81613f2e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613fa7601d83612c2e565b9150613fb282613f71565b602082019050919050565b60006020820190508181036000830152613fd681613f9a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614039602583612c2e565b915061404482613fdd565b604082019050919050565b600060208201905081810360008301526140688161402c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006140cb602383612c2e565b91506140d68261406f565b604082019050919050565b600060208201905081810360008301526140fa816140be565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061415d602683612c2e565b915061416882614101565b604082019050919050565b6000602082019050818103600083015261418c81614150565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006141ba8251612e98565b80915050919050565b60006141ce82614193565b826141d88461419e565b90506141e3816141ae565b925060208210156142235761421e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261390c565b831692505b5050919050565b600060408201905061423f6000830185612de4565b61424c6020830184612de4565b9392505050565b600060a0820190506142686000830188612ea2565b6142756020830187612ea2565b6142826040830186612ea2565b61428f6060830185612de4565b61429c6080830184612f26565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006142e082612d38565b91506142eb83612d38565b9250826142fb576142fa6142a6565b5b828204905092915050565b600060808201905061431b6000830187612ea2565b6143286020830186612e6e565b6143356040830185612ea2565b6143426060830184612ea2565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006143b0601883612c2e565b91506143bb8261437a565b602082019050919050565b600060208201905081810360008301526143df816143a3565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061441c601f83612c2e565b9150614427826143e6565b602082019050919050565b6000602082019050818103600083015261444b8161440f565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006144ae602283612c2e565b91506144b982614452565b604082019050919050565b600060208201905081810360008301526144dd816144a1565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614540602183612c2e565b915061454b826144e4565b604082019050919050565b6000602082019050818103600083015261456f81614533565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006145d2602283612c2e565b91506145dd82614576565b604082019050919050565b60006020820190508181036000830152614601816145c5565b905091905056fea264697066735822122012fbbd86ae625321925907fd5cf3317f7409d4bd5a6668bb0ad5b3e17fee64ca64736f6c63430008120033