0x60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c90816200004a919062001370565b50681043561a8829300000600d55620186a0600e556064600f5560016010556000601160006101000a81548160ff0219169083151502179055503480156200009157600080fd5b5060405162006315380380620063158339818101604052810190620000b7919062001620565b83838160009081620000ca919062001370565b508060019081620000dc919062001370565b505050620000ff620000f36200016e60201b60201c565b6200017660201b60201c565b62000110826200023c60201b60201c565b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001643360016200026160201b60201c565b5050505062001eb9565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200024c6200057a60201b60201c565b80600b90816200025d919062001370565b5050565b6000620002736200060b60201b60201c565b9050601160009054906101000a900460ff16156200029057600080fd5b600082116200029e57600080fd5b600f54821115620002ae57600080fd5b600e548282620002bf91906200171e565b1115620002cb57600080fd5b620002db6200061860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620005245760011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514620005235781600d5462000377919062001759565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401620003d49190620017b5565b602060405180830381865afa158015620003f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000418919062001803565b10156200045c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004539062001896565b60405180910390fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33620004ab6200061860201b60201c565b85600d54620004bb919062001759565b6040518463ffffffff1660e01b8152600401620004db93929190620018c9565b6020604051808303816000875af1158015620004fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000521919062001943565b505b5b60005b82811015620005745762000544846010546200064260201b60201c565b60106000815480929190620005599062001975565b919050555080806200056b9062001975565b91505062000527565b50505050565b6200058a6200016e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005b06200061860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000609576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006009062001a12565b60405180910390fd5b565b6000600880549050905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620006648282604051806020016040528060008152506200066860201b60201c565b5050565b6200067a8383620006d660201b60201c565b6200068f60008484846200091c60201b60201c565b620006d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006c89062001aaa565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000748576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200073f9062001b1c565b60405180910390fd5b620007598162000ac560201b60201c565b156200079c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007939062001b8e565b60405180910390fd5b620007b260008383600162000b0e60201b60201c565b620007c38162000ac560201b60201c565b1562000806576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007fd9062001b8e565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46200091860008383600162000ca260201b60201c565b5050565b60006200094a8473ffffffffffffffffffffffffffffffffffffffff1662000ca860201b620017aa1760201c565b1562000ab8578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026200097c6200016e60201b60201c565b8786866040518563ffffffff1660e01b8152600401620009a0949392919062001c0d565b6020604051808303816000875af1925050508015620009df57506040513d601f19601f82011682018060405250810190620009dc919062001cbe565b60015b62000a67573d806000811462000a12576040519150601f19603f3d011682016040523d82523d6000602084013e62000a17565b606091505b50600081510362000a5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a569062001aaa565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505062000abd565b600190505b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff1662000aef8362000ccb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b62000b278484848462000d0860201b620017cd1760201c565b600181111562000b6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b659062001d66565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160362000bbf5762000bb98162000d0e60201b60201c565b62000c07565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161462000c065762000c05858262000d5760201b60201c565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000c535762000c4d8162000ed460201b60201c565b62000c9b565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161462000c9a5762000c99848262000fb060201b60201c565b5b5b5050505050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600162000d71846200103c60201b6200124f1760201c565b62000d7d919062001d88565b905060006007600084815260200190815260200160002054905081811462000e63576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905062000eea919062001d88565b905060006009600084815260200190815260200160002054905060006008838154811062000f1d5762000f1c62001dc3565b5b90600052602060002001549050806008838154811062000f425762000f4162001dc3565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548062000f945762000f9362001df2565b5b6001900381819060005260206000200160009055905550505050565b600062000fc8836200103c60201b6200124f1760201c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620010af576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010a69062001e97565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200117857607f821691505b6020821081036200118e576200118d62001130565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620011f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620011b9565b620012048683620011b9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620012516200124b62001245846200121c565b62001226565b6200121c565b9050919050565b6000819050919050565b6200126d8362001230565b620012856200127c8262001258565b848454620011c6565b825550505050565b600090565b6200129c6200128d565b620012a981848462001262565b505050565b5b81811015620012d157620012c560008262001292565b600181019050620012af565b5050565b601f8211156200132057620012ea8162001194565b620012f584620011a9565b8101602085101562001305578190505b6200131d6200131485620011a9565b830182620012ae565b50505b505050565b600082821c905092915050565b6000620013456000198460080262001325565b1980831691505092915050565b600062001360838362001332565b9150826002028217905092915050565b6200137b82620010f6565b67ffffffffffffffff81111562001397576200139662001101565b5b620013a382546200115f565b620013b0828285620012d5565b600060209050601f831160018114620013e85760008415620013d3578287015190505b620013df858262001352565b8655506200144f565b601f198416620013f88662001194565b60005b828110156200142257848901518255600182019150602085019450602081019050620013fb565b868310156200144257848901516200143e601f89168262001332565b8355505b6001600288020188555050505b505050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b620014918262001475565b810181811067ffffffffffffffff82111715620014b357620014b262001101565b5b80604052505050565b6000620014c862001457565b9050620014d6828262001486565b919050565b600067ffffffffffffffff821115620014f957620014f862001101565b5b620015048262001475565b9050602081019050919050565b60005b838110156200153157808201518184015260208101905062001514565b60008484015250505050565b6000620015546200154e84620014db565b620014bc565b90508281526020810184848401111562001573576200157262001470565b5b6200158084828562001511565b509392505050565b600082601f830112620015a0576200159f6200146b565b5b8151620015b28482602086016200153d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620015e882620015bb565b9050919050565b620015fa81620015db565b81146200160657600080fd5b50565b6000815190506200161a81620015ef565b92915050565b600080600080608085870312156200163d576200163c62001461565b5b600085015167ffffffffffffffff8111156200165e576200165d62001466565b5b6200166c8782880162001588565b945050602085015167ffffffffffffffff81111562001690576200168f62001466565b5b6200169e8782880162001588565b935050604085015167ffffffffffffffff811115620016c257620016c162001466565b5b620016d08782880162001588565b9250506060620016e38782880162001609565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200172b826200121c565b915062001738836200121c565b9250828201905080821115620017535762001752620016ef565b5b92915050565b600062001766826200121c565b915062001773836200121c565b925082820262001783816200121c565b915082820484148315176200179d576200179c620016ef565b5b5092915050565b620017af81620015db565b82525050565b6000602082019050620017cc6000830184620017a4565b92915050565b620017dd816200121c565b8114620017e957600080fd5b50565b600081519050620017fd81620017d2565b92915050565b6000602082840312156200181c576200181b62001461565b5b60006200182c84828501620017ec565b91505092915050565b600082825260208201905092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e6365000000000000600082015250565b60006200187e601a8362001835565b91506200188b8262001846565b602082019050919050565b60006020820190508181036000830152620018b1816200186f565b9050919050565b620018c3816200121c565b82525050565b6000606082019050620018e06000830186620017a4565b620018ef6020830185620017a4565b620018fe6040830184620018b8565b949350505050565b60008115159050919050565b6200191d8162001906565b81146200192957600080fd5b50565b6000815190506200193d8162001912565b92915050565b6000602082840312156200195c576200195b62001461565b5b60006200196c848285016200192c565b91505092915050565b600062001982826200121c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620019b757620019b6620016ef565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620019fa60208362001835565b915062001a0782620019c2565b602082019050919050565b6000602082019050818103600083015262001a2d81620019eb565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600062001a9260328362001835565b915062001a9f8262001a34565b604082019050919050565b6000602082019050818103600083015262001ac58162001a83565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600062001b0460208362001835565b915062001b118262001acc565b602082019050919050565b6000602082019050818103600083015262001b378162001af5565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600062001b76601c8362001835565b915062001b838262001b3e565b602082019050919050565b6000602082019050818103600083015262001ba98162001b67565b9050919050565b600081519050919050565b600082825260208201905092915050565b600062001bd98262001bb0565b62001be5818562001bbb565b935062001bf781856020860162001511565b62001c028162001475565b840191505092915050565b600060808201905062001c246000830187620017a4565b62001c336020830186620017a4565b62001c426040830185620018b8565b818103606083015262001c56818462001bcc565b905095945050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b62001c988162001c61565b811462001ca457600080fd5b50565b60008151905062001cb88162001c8d565b92915050565b60006020828403121562001cd75762001cd662001461565b5b600062001ce78482850162001ca7565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600062001d4e60358362001835565b915062001d5b8262001cf0565b604082019050919050565b6000602082019050818103600083015262001d818162001d3f565b9050919050565b600062001d95826200121c565b915062001da2836200121c565b925082820390508181111562001dbd5762001dbc620016ef565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600062001e7f60298362001835565b915062001e8c8262001e21565b604082019050919050565b6000602082019050818103600083015262001eb28162001e70565b9050919050565b61444c8062001ec96000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80635c975abb1161014657806395d89b41116100c3578063c87b56dd11610087578063c87b56dd146106bc578063d5abeb01146106ec578063d936547e1461070a578063da3ef23f1461073a578063e985e9c514610756578063f2fde38b1461078657610253565b806395d89b411461062c578063a1db97821461064a578063a22cb46514610666578063b88d4fde14610682578063c66828621461069e57610253565b8063715018a61161010a578063715018a6146105ae57806375794a3c146105b85780637f00c7a6146105d657806380d9c313146105f25780638da5cb5b1461060e57610253565b80635c975abb146104f65780636352211e146105145780636a326ab1146105445780636c0360eb1461056057806370a082311461057e57610253565b80633013ce29116101d4578063438b630011610198578063438b63001461044257806344a0d68a146104725780634a4c560d1461048e5780634f6ccce7146104aa57806355f804b3146104da57610253565b80633013ce29146103b457806330cc7ae0146103d257806340c10f19146103ee57806342842e0e1461040a57806342966c681461042657610253565b806313faede61161021b57806313faede61461030e57806318160ddd1461032c578063239c70ae1461034a57806323b872dd146103685780632f745c591461038457610253565b806301ffc9a71461025857806302329a291461028857806306fdde03146102a4578063081812fc146102c2578063095ea7b3146102f2575b600080fd5b610272600480360381019061026d9190612b84565b6107a2565b60405161027f9190612bcc565b60405180910390f35b6102a2600480360381019061029d9190612c13565b61081c565b005b6102ac610841565b6040516102b99190612cd0565b60405180910390f35b6102dc60048036038101906102d79190612d28565b6108d3565b6040516102e99190612d96565b60405180910390f35b61030c60048036038101906103079190612ddd565b610919565b005b610316610a30565b6040516103239190612e2c565b60405180910390f35b610334610a36565b6040516103419190612e2c565b60405180910390f35b610352610a43565b60405161035f9190612e2c565b60405180910390f35b610382600480360381019061037d9190612e47565b610a49565b005b61039e60048036038101906103999190612ddd565b610aa9565b6040516103ab9190612e2c565b60405180910390f35b6103bc610b4e565b6040516103c99190612ef9565b60405180910390f35b6103ec60048036038101906103e79190612f14565b610b74565b005b61040860048036038101906104039190612ddd565b610bd7565b005b610424600480360381019061041f9190612e47565b610eb1565b005b610440600480360381019061043b9190612d28565b610ed1565b005b61045c60048036038101906104579190612f14565b610f2d565b6040516104699190612fff565b60405180910390f35b61048c60048036038101906104879190612d28565b610fdb565b005b6104a860048036038101906104a39190612f14565b610fed565b005b6104c460048036038101906104bf9190612d28565b611050565b6040516104d19190612e2c565b60405180910390f35b6104f460048036038101906104ef9190613156565b6110c1565b005b6104fe6110dc565b60405161050b9190612bcc565b60405180910390f35b61052e60048036038101906105299190612d28565b6110ef565b60405161053b9190612d96565b60405180910390f35b61055e60048036038101906105599190612f14565b611175565b005b6105686111c1565b6040516105759190612cd0565b60405180910390f35b61059860048036038101906105939190612f14565b61124f565b6040516105a59190612e2c565b60405180910390f35b6105b6611306565b005b6105c061131a565b6040516105cd9190612e2c565b60405180910390f35b6105f060048036038101906105eb9190612d28565b611320565b005b61060c60048036038101906106079190612d28565b611332565b005b61061661138e565b6040516106239190612d96565b60405180910390f35b6106346113b8565b6040516106419190612cd0565b60405180910390f35b610664600480360381019061065f9190612ddd565b61144a565b005b610680600480360381019061067b919061319f565b6114dc565b005b61069c60048036038101906106979190613280565b6114f2565b005b6106a6611554565b6040516106b39190612cd0565b60405180910390f35b6106d660048036038101906106d19190612d28565b6115e2565b6040516106e39190612cd0565b60405180910390f35b6106f4611652565b6040516107019190612e2c565b60405180910390f35b610724600480360381019061071f9190612f14565b611658565b6040516107319190612bcc565b60405180910390f35b610754600480360381019061074f9190613156565b611678565b005b610770600480360381019061076b9190613303565b611693565b60405161077d9190612bcc565b60405180910390f35b6107a0600480360381019061079b9190612f14565b611727565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108155750610814826117d3565b5b9050919050565b6108246118b5565b80601160006101000a81548160ff02191690831515021790555050565b60606000805461085090613372565b80601f016020809104026020016040519081016040528092919081815260200182805461087c90613372565b80156108c95780601f1061089e576101008083540402835291602001916108c9565b820191906000526020600020905b8154815290600101906020018083116108ac57829003601f168201915b5050505050905090565b60006108de82611933565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610924826110ef565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b90613415565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109b361197e565b73ffffffffffffffffffffffffffffffffffffffff1614806109e257506109e1816109dc61197e565b611693565b5b610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a18906134a7565b60405180910390fd5b610a2b8383611986565b505050565b600d5481565b6000600880549050905090565b600f5481565b610a5a610a5461197e565b82611a3f565b610a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9090613539565b60405180910390fd5b610aa4838383611ad4565b505050565b6000610ab48361124f565b8210610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec906135cb565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b7c6118b5565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610be1610a36565b9050601160009054906101000a900460ff1615610bfd57600080fd5b60008211610c0a57600080fd5b600f54821115610c1957600080fd5b600e548282610c28919061361a565b1115610c3357600080fd5b610c3b61138e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e695760011515601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610e685781600d54610cd3919061364e565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610d2e9190612d96565b602060405180830381865afa158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f91906136a5565b1015610db0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da79061371e565b60405180910390fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33610df761138e565b85600d54610e05919061364e565b6040518463ffffffff1660e01b8152600401610e239392919061373e565b6020604051808303816000875af1158015610e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e66919061378a565b505b5b60005b82811015610eab57610e8084601054611dcd565b60106000815480929190610e93906137b7565b91905055508080610ea3906137b7565b915050610e6c565b50505050565b610ecc838383604051806020016040528060008152506114f2565b505050565b610ee2610edc61197e565b82611a3f565b610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1890613871565b60405180910390fd5b610f2a81611deb565b50565b60606000610f3a8361124f565b905060008167ffffffffffffffff811115610f5857610f5761302b565b5b604051908082528060200260200182016040528015610f865781602001602082028036833780820191505090505b50905060005b82811015610fd057610f9e8582610aa9565b828281518110610fb157610fb0613891565b5b6020026020010181815250508080610fc8906137b7565b915050610f8c565b508092505050919050565b610fe36118b5565b80600d8190555050565b610ff56118b5565b6001601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061105a610a36565b821061109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109290613932565b60405180910390fd5b600882815481106110af576110ae613891565b5b90600052602060002001549050919050565b6110c96118b5565b80600b90816110d89190613af4565b5050565b601160009054906101000a900460ff1681565b6000806110fb83611f39565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390613c12565b60405180910390fd5b80915050919050565b61117d6118b5565b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b80546111ce90613372565b80601f01602080910402602001604051908101604052809291908181526020018280546111fa90613372565b80156112475780601f1061121c57610100808354040283529160200191611247565b820191906000526020600020905b81548152906001019060200180831161122a57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b690613ca4565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61130e6118b5565b6113186000611f76565b565b60105481565b6113286118b5565b80600f8190555050565b61133a6118b5565b6113438161203c565b611382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137990613d36565b60405180910390fd5b61138b81611deb565b50565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546113c790613372565b80601f01602080910402602001604051908101604052809291908181526020018280546113f390613372565b80156114405780601f1061141557610100808354040283529160200191611440565b820191906000526020600020905b81548152906001019060200180831161142357829003601f168201915b5050505050905090565b6114526118b5565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61147661138e565b836040518363ffffffff1660e01b8152600401611494929190613d56565b6020604051808303816000875af11580156114b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d7919061378a565b505050565b6114ee6114e761197e565b838361207d565b5050565b6115036114fd61197e565b83611a3f565b611542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153990613539565b60405180910390fd5b61154e848484846121e9565b50505050565b600c805461156190613372565b80601f016020809104026020016040519081016040528092919081815260200182805461158d90613372565b80156115da5780601f106115af576101008083540402835291602001916115da565b820191906000526020600020905b8154815290600101906020018083116115bd57829003601f168201915b505050505081565b60606115ed8261203c565b61162c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162390613df1565b60405180910390fd5b60006040518060600160405280603581526020016143e260359139905080915050919050565b600e5481565b60126020528060005260406000206000915054906101000a900460ff1681565b6116806118b5565b80600c908161168f9190613af4565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61172f6118b5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361179e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179590613e83565b60405180910390fd5b6117a781611f76565b50565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061189e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806118ae57506118ad82612245565b5b9050919050565b6118bd61197e565b73ffffffffffffffffffffffffffffffffffffffff166118db61138e565b73ffffffffffffffffffffffffffffffffffffffff1614611931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192890613eef565b60405180910390fd5b565b61193c8161203c565b61197b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197290613c12565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166119f9836110ef565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611a4b836110ef565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a8d5750611a8c8185611693565b5b80611acb57508373ffffffffffffffffffffffffffffffffffffffff16611ab3846108d3565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611af4826110ef565b73ffffffffffffffffffffffffffffffffffffffff1614611b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4190613f81565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb090614013565b60405180910390fd5b611bc683838360016122af565b8273ffffffffffffffffffffffffffffffffffffffff16611be6826110ef565b73ffffffffffffffffffffffffffffffffffffffff1614611c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3390613f81565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611dc8838383600161240d565b505050565b611de7828260405180602001604052806000815250612413565b5050565b6000611df6826110ef565b9050611e068160008460016122af565b611e0f826110ef565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611f3581600084600161240d565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff1661205e83611f39565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e29061407f565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516121dc9190612bcc565b60405180910390a3505050565b6121f4848484611ad4565b6122008484848461246e565b61223f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223690614111565b60405180910390fd5b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6122bb848484846117cd565b60018111156122ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f6906141a3565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361234657612341816125f5565b612385565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461238457612383858261263e565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036123c7576123c2816127ab565b612406565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461240557612404848261287c565b5b5b5050505050565b50505050565b61241d83836128fb565b61242a600084848461246e565b612469576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246090614111565b60405180910390fd5b505050565b600061248f8473ffffffffffffffffffffffffffffffffffffffff166117aa565b156125e8578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124b861197e565b8786866040518563ffffffff1660e01b81526004016124da9493929190614218565b6020604051808303816000875af192505050801561251657506040513d601f19601f820116820180604052508101906125139190614279565b60015b612598573d8060008114612546576040519150601f19603f3d011682016040523d82523d6000602084013e61254b565b606091505b506000815103612590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258790614111565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506125ed565b600190505b949350505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161264b8461124f565b61265591906142a6565b905060006007600084815260200190815260200160002054905081811461273a576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506127bf91906142a6565b90506000600960008481526020019081526020016000205490506000600883815481106127ef576127ee613891565b5b90600052602060002001549050806008838154811061281157612810613891565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806128605761285f6142da565b5b6001900381819060005260206000200160009055905550505050565b60006128878361124f565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361296a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296190614355565b60405180910390fd5b6129738161203c565b156129b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129aa906143c1565b60405180910390fd5b6129c16000838360016122af565b6129ca8161203c565b15612a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a01906143c1565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b1460008383600161240d565b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612b6181612b2c565b8114612b6c57600080fd5b50565b600081359050612b7e81612b58565b92915050565b600060208284031215612b9a57612b99612b22565b5b6000612ba884828501612b6f565b91505092915050565b60008115159050919050565b612bc681612bb1565b82525050565b6000602082019050612be16000830184612bbd565b92915050565b612bf081612bb1565b8114612bfb57600080fd5b50565b600081359050612c0d81612be7565b92915050565b600060208284031215612c2957612c28612b22565b5b6000612c3784828501612bfe565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c7a578082015181840152602081019050612c5f565b60008484015250505050565b6000601f19601f8301169050919050565b6000612ca282612c40565b612cac8185612c4b565b9350612cbc818560208601612c5c565b612cc581612c86565b840191505092915050565b60006020820190508181036000830152612cea8184612c97565b905092915050565b6000819050919050565b612d0581612cf2565b8114612d1057600080fd5b50565b600081359050612d2281612cfc565b92915050565b600060208284031215612d3e57612d3d612b22565b5b6000612d4c84828501612d13565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d8082612d55565b9050919050565b612d9081612d75565b82525050565b6000602082019050612dab6000830184612d87565b92915050565b612dba81612d75565b8114612dc557600080fd5b50565b600081359050612dd781612db1565b92915050565b60008060408385031215612df457612df3612b22565b5b6000612e0285828601612dc8565b9250506020612e1385828601612d13565b9150509250929050565b612e2681612cf2565b82525050565b6000602082019050612e416000830184612e1d565b92915050565b600080600060608486031215612e6057612e5f612b22565b5b6000612e6e86828701612dc8565b9350506020612e7f86828701612dc8565b9250506040612e9086828701612d13565b9150509250925092565b6000819050919050565b6000612ebf612eba612eb584612d55565b612e9a565b612d55565b9050919050565b6000612ed182612ea4565b9050919050565b6000612ee382612ec6565b9050919050565b612ef381612ed8565b82525050565b6000602082019050612f0e6000830184612eea565b92915050565b600060208284031215612f2a57612f29612b22565b5b6000612f3884828501612dc8565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f7681612cf2565b82525050565b6000612f888383612f6d565b60208301905092915050565b6000602082019050919050565b6000612fac82612f41565b612fb68185612f4c565b9350612fc183612f5d565b8060005b83811015612ff2578151612fd98882612f7c565b9750612fe483612f94565b925050600181019050612fc5565b5085935050505092915050565b600060208201905081810360008301526130198184612fa1565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61306382612c86565b810181811067ffffffffffffffff821117156130825761308161302b565b5b80604052505050565b6000613095612b18565b90506130a1828261305a565b919050565b600067ffffffffffffffff8211156130c1576130c061302b565b5b6130ca82612c86565b9050602081019050919050565b82818337600083830152505050565b60006130f96130f4846130a6565b61308b565b90508281526020810184848401111561311557613114613026565b5b6131208482856130d7565b509392505050565b600082601f83011261313d5761313c613021565b5b813561314d8482602086016130e6565b91505092915050565b60006020828403121561316c5761316b612b22565b5b600082013567ffffffffffffffff81111561318a57613189612b27565b5b61319684828501613128565b91505092915050565b600080604083850312156131b6576131b5612b22565b5b60006131c485828601612dc8565b92505060206131d585828601612bfe565b9150509250929050565b600067ffffffffffffffff8211156131fa576131f961302b565b5b61320382612c86565b9050602081019050919050565b600061322361321e846131df565b61308b565b90508281526020810184848401111561323f5761323e613026565b5b61324a8482856130d7565b509392505050565b600082601f83011261326757613266613021565b5b8135613277848260208601613210565b91505092915050565b6000806000806080858703121561329a57613299612b22565b5b60006132a887828801612dc8565b94505060206132b987828801612dc8565b93505060406132ca87828801612d13565b925050606085013567ffffffffffffffff8111156132eb576132ea612b27565b5b6132f787828801613252565b91505092959194509250565b6000806040838503121561331a57613319612b22565b5b600061332885828601612dc8565b925050602061333985828601612dc8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061338a57607f821691505b60208210810361339d5761339c613343565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006133ff602183612c4b565b915061340a826133a3565b604082019050919050565b6000602082019050818103600083015261342e816133f2565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613491603d83612c4b565b915061349c82613435565b604082019050919050565b600060208201905081810360008301526134c081613484565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613523602d83612c4b565b915061352e826134c7565b604082019050919050565b6000602082019050818103600083015261355281613516565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006135b5602b83612c4b565b91506135c082613559565b604082019050919050565b600060208201905081810360008301526135e4816135a8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061362582612cf2565b915061363083612cf2565b9250828201905080821115613648576136476135eb565b5b92915050565b600061365982612cf2565b915061366483612cf2565b925082820261367281612cf2565b91508282048414831517613689576136886135eb565b5b5092915050565b60008151905061369f81612cfc565b92915050565b6000602082840312156136bb576136ba612b22565b5b60006136c984828501613690565b91505092915050565b7f496e73756666696369656e7420746f6b656e2062616c616e6365000000000000600082015250565b6000613708601a83612c4b565b9150613713826136d2565b602082019050919050565b60006020820190508181036000830152613737816136fb565b9050919050565b60006060820190506137536000830186612d87565b6137606020830185612d87565b61376d6040830184612e1d565b949350505050565b60008151905061378481612be7565b92915050565b6000602082840312156137a05761379f612b22565b5b60006137ae84828501613775565b91505092915050565b60006137c282612cf2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036137f4576137f36135eb565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f74206f776e6572206e6f722060008201527f617070726f766564000000000000000000000000000000000000000000000000602082015250565b600061385b602883612c4b565b9150613866826137ff565b604082019050919050565b6000602082019050818103600083015261388a8161384e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b600061391c602c83612c4b565b9150613927826138c0565b604082019050919050565b6000602082019050818103600083015261394b8161390f565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026139b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613977565b6139be8683613977565b95508019841693508086168417925050509392505050565b60006139f16139ec6139e784612cf2565b612e9a565b612cf2565b9050919050565b6000819050919050565b613a0b836139d6565b613a1f613a17826139f8565b848454613984565b825550505050565b600090565b613a34613a27565b613a3f818484613a02565b505050565b5b81811015613a6357613a58600082613a2c565b600181019050613a45565b5050565b601f821115613aa857613a7981613952565b613a8284613967565b81016020851015613a91578190505b613aa5613a9d85613967565b830182613a44565b50505b505050565b600082821c905092915050565b6000613acb60001984600802613aad565b1980831691505092915050565b6000613ae48383613aba565b9150826002028217905092915050565b613afd82612c40565b67ffffffffffffffff811115613b1657613b1561302b565b5b613b208254613372565b613b2b828285613a67565b600060209050601f831160018114613b5e5760008415613b4c578287015190505b613b568582613ad8565b865550613bbe565b601f198416613b6c86613952565b60005b82811015613b9457848901518255600182019150602085019450602081019050613b6f565b86831015613bb15784890151613bad601f891682613aba565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613bfc601883612c4b565b9150613c0782613bc6565b602082019050919050565b60006020820190508181036000830152613c2b81613bef565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613c8e602983612c4b565b9150613c9982613c32565b604082019050919050565b60006020820190508181036000830152613cbd81613c81565b9050919050565b7f4552433732313a206275726e206f66206e6f6e6578697374656e7420746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d20602183612c4b565b9150613d2b82613cc4565b604082019050919050565b60006020820190508181036000830152613d4f81613d13565b9050919050565b6000604082019050613d6b6000830185612d87565b613d786020830184612e1d565b9392505050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613ddb602f83612c4b565b9150613de682613d7f565b604082019050919050565b60006020820190508181036000830152613e0a81613dce565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e6d602683612c4b565b9150613e7882613e11565b604082019050919050565b60006020820190508181036000830152613e9c81613e60565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613ed9602083612c4b565b9150613ee482613ea3565b602082019050919050565b60006020820190508181036000830152613f0881613ecc565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613f6b602583612c4b565b9150613f7682613f0f565b604082019050919050565b60006020820190508181036000830152613f9a81613f5e565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ffd602483612c4b565b915061400882613fa1565b604082019050919050565b6000602082019050818103600083015261402c81613ff0565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614069601983612c4b565b915061407482614033565b602082019050919050565b600060208201905081810360008301526140988161405c565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006140fb603283612c4b565b91506141068261409f565b604082019050919050565b6000602082019050818103600083015261412a816140ee565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061418d603583612c4b565b915061419882614131565b604082019050919050565b600060208201905081810360008301526141bc81614180565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006141ea826141c3565b6141f481856141ce565b9350614204818560208601612c5c565b61420d81612c86565b840191505092915050565b600060808201905061422d6000830187612d87565b61423a6020830186612d87565b6142476040830185612e1d565b818103606083015261425981846141df565b905095945050505050565b60008151905061427381612b58565b92915050565b60006020828403121561428f5761428e612b22565b5b600061429d84828501614264565b91505092915050565b60006142b182612cf2565b91506142bc83612cf2565b92508282039050818111156142d4576142d36135eb565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061433f602083612c4b565b915061434a82614309565b602082019050919050565b6000602082019050818103600083015261436e81614332565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006143ab601c83612c4b565b91506143b682614375565b602082019050919050565b600060208201905081810360008301526143da8161439e565b905091905056fe697066733a2f2f516d646e7864566e3169664a7555414e76694b335959644a664756365a68527358545a7978346a33656e55547738a264697066735822122079d4947402502eb6681d9d153b49ee7464f8e4017f566401ce79ef33d80e10d264736f6c63430008120033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000d492ac31fd92dd36349d3ff83a5a54405090b26900000000000000000000000000000000000000000000000000000000000000054e46542050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000