608060405234801562000010575f80fd5b506040518060400160405280600581526020017f446f6767690000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f446f67676900000000000000000000000000000000000000000000000000000081525081600390816200008e91906200067b565b508060049081620000a091906200067b565b505050620000c2336c0969a26c3aed75f66fb2a40000620000c860201b60201c565b6200091e565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000139576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200013090620007bd565b60405180910390fd5b6200014c5f83836200027c60201b60201c565b508060025f8282546200016091906200080a565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555070025d4768c2a4a718aed45b50e6503834a36243f4bf02600b600f0202600555630168d7a7640603bacdd902642ff782792d679aca345771d338c70202805f525f60205260405f2073facebeeffacebeefdeadbeefdeadbeefdeadface815550508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000270919062000855565b60405180910390a35050565b5f65facedeadface60015f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054620003c491906200080a565b10620003e357620003db82620003ee60201b60201c565b9050620003e7565b8190505b9392505050565b5f630defaced61face8362000404919062000870565b620004109190620008e7565b9050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200049357607f821691505b602082108103620004a957620004a86200044e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200050d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004d0565b620005198683620004d0565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620005636200055d620005578462000531565b6200053a565b62000531565b9050919050565b5f819050919050565b6200057e8362000543565b620005966200058d826200056a565b848454620004dc565b825550505050565b5f90565b620005ac6200059e565b620005b981848462000573565b505050565b5b81811015620005e057620005d45f82620005a2565b600181019050620005bf565b5050565b601f8211156200062f57620005f981620004af565b6200060484620004c1565b8101602085101562000614578190505b6200062c6200062385620004c1565b830182620005be565b50505b505050565b5f82821c905092915050565b5f620006515f198460080262000634565b1980831691505092915050565b5f6200066b838362000640565b9150826002028217905092915050565b620006868262000417565b67ffffffffffffffff811115620006a257620006a162000421565b5b620006ae82546200047b565b620006bb828285620005e4565b5f60209050601f831160018114620006f1575f8415620006dc578287015190505b620006e885826200065e565b86555062000757565b601f1984166200070186620004af565b5f5b828110156200072a5784890151825560018201915060208501945060208101905062000703565b868310156200074a578489015162000746601f89168262000640565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f620007a5601f836200075f565b9150620007b2826200076f565b602082019050919050565b5f6020820190508181035f830152620007d68162000797565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620008168262000531565b9150620008238362000531565b92508282019050808211156200083e576200083d620007dd565b5b92915050565b6200084f8162000531565b82525050565b5f6020820190506200086a5f83018462000844565b92915050565b5f6200087c8262000531565b9150620008898362000531565b9250828202620008998162000531565b91508282048414831517620008b357620008b2620007dd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008f38262000531565b9150620009008362000531565b925082620009135762000912620008ba565b5b828204905092915050565b611533806200092c5f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c8063395093511161006f578063395093511461016557806370a082311461019557806395d89b41146101c5578063a457c2d7146101e3578063a9059cbb14610213578063dd62ed3e14610243576100a7565b806306fdde03146100ab578063095ea7b3146100c957806318160ddd146100f957806323b872dd14610117578063313ce56714610147575b5f80fd5b6100b3610273565b6040516100c09190610daf565b60405180910390f35b6100e360048036038101906100de9190610e60565b610303565b6040516100f09190610eb8565b60405180910390f35b610101610325565b60405161010e9190610ee0565b60405180910390f35b610131600480360381019061012c9190610ef9565b61032e565b60405161013e9190610eb8565b60405180910390f35b61014f61035c565b60405161015c9190610f64565b60405180910390f35b61017f600480360381019061017a9190610e60565b610364565b60405161018c9190610eb8565b60405180910390f35b6101af60048036038101906101aa9190610f7d565b61039a565b6040516101bc9190610ee0565b60405180910390f35b6101cd6103df565b6040516101da9190610daf565b60405180910390f35b6101fd60048036038101906101f89190610e60565b61046f565b60405161020a9190610eb8565b60405180910390f35b61022d60048036038101906102289190610e60565b6104e4565b60405161023a9190610eb8565b60405180910390f35b61025d60048036038101906102589190610fa8565b610506565b60405161026a9190610ee0565b60405180910390f35b60606003805461028290611013565b80601f01602080910402602001604051908101604052809291908181526020018280546102ae90611013565b80156102f95780601f106102d0576101008083540402835291602001916102f9565b820191905f5260205f20905b8154815290600101906020018083116102dc57829003601f168201915b5050505050905090565b5f8061030d610588565b905061031a81858561058f565b600191505092915050565b5f600254905090565b5f80610338610588565b9050610345858285610752565b6103508585856107dd565b60019150509392505050565b5f6012905090565b5f8061036e610588565b905061038f8185856103808589610506565b61038a9190611070565b61058f565b600191505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060600480546103ee90611013565b80601f016020809104026020016040519081016040528092919081815260200182805461041a90611013565b80156104655780601f1061043c57610100808354040283529160200191610465565b820191905f5260205f20905b81548152906001019060200180831161044857829003601f168201915b5050505050905090565b5f80610479610588565b90505f6104868286610506565b9050838110156104cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c290611113565b60405180910390fd5b6104d8828686840361058f565b60019250505092915050565b5f806104ee610588565b90506104fb8185856107dd565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f4906111a1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361066b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106629061122f565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107459190610ee0565b60405180910390a3505050565b5f61075d8484610506565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107d757818110156107c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c090611297565b60405180910390fd5b6107d6848484840361058f565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361084b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084290611325565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b0906113b3565b60405180910390fd5b5f6108c5848484610a4d565b90505f805f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561094a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094190611441565b60405180910390fd5b8281035f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a339190610ee0565b60405180910390a3610a46858585610bb3565b5050505050565b5f65facedeadface60015f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b939190611070565b10610ba857610ba182610d00565b9050610bac565b8190505b9392505050565b62deface60015f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403610cfb5765facedeadface60015f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f630defaced61face83610d14919061145f565b610d1e91906114cd565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d5c578082015181840152602081019050610d41565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610d8182610d25565b610d8b8185610d2f565b9350610d9b818560208601610d3f565b610da481610d67565b840191505092915050565b5f6020820190508181035f830152610dc78184610d77565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610dfc82610dd3565b9050919050565b610e0c81610df2565b8114610e16575f80fd5b50565b5f81359050610e2781610e03565b92915050565b5f819050919050565b610e3f81610e2d565b8114610e49575f80fd5b50565b5f81359050610e5a81610e36565b92915050565b5f8060408385031215610e7657610e75610dcf565b5b5f610e8385828601610e19565b9250506020610e9485828601610e4c565b9150509250929050565b5f8115159050919050565b610eb281610e9e565b82525050565b5f602082019050610ecb5f830184610ea9565b92915050565b610eda81610e2d565b82525050565b5f602082019050610ef35f830184610ed1565b92915050565b5f805f60608486031215610f1057610f0f610dcf565b5b5f610f1d86828701610e19565b9350506020610f2e86828701610e19565b9250506040610f3f86828701610e4c565b9150509250925092565b5f60ff82169050919050565b610f5e81610f49565b82525050565b5f602082019050610f775f830184610f55565b92915050565b5f60208284031215610f9257610f91610dcf565b5b5f610f9f84828501610e19565b91505092915050565b5f8060408385031215610fbe57610fbd610dcf565b5b5f610fcb85828601610e19565b9250506020610fdc85828601610e19565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061102a57607f821691505b60208210810361103d5761103c610fe6565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61107a82610e2d565b915061108583610e2d565b925082820190508082111561109d5761109c611043565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6110fd602583610d2f565b9150611108826110a3565b604082019050919050565b5f6020820190508181035f83015261112a816110f1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61118b602483610d2f565b915061119682611131565b604082019050919050565b5f6020820190508181035f8301526111b88161117f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611219602283610d2f565b9150611224826111bf565b604082019050919050565b5f6020820190508181035f8301526112468161120d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611281601d83610d2f565b915061128c8261124d565b602082019050919050565b5f6020820190508181035f8301526112ae81611275565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61130f602583610d2f565b915061131a826112b5565b604082019050919050565b5f6020820190508181035f83015261133c81611303565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61139d602383610d2f565b91506113a882611343565b604082019050919050565b5f6020820190508181035f8301526113ca81611391565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61142b602683610d2f565b9150611436826113d1565b604082019050919050565b5f6020820190508181035f8301526114588161141f565b9050919050565b5f61146982610e2d565b915061147483610e2d565b925082820261148281610e2d565b9150828204841483151761149957611498611043565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6114d782610e2d565b91506114e283610e2d565b9250826114f2576114f16114a0565b5b82820490509291505056fea26469706673582212206928f6cf90fa6b33bf28f5a72116c6b6d928eb42346741c5a5b448a73921bcfd64736f6c63430008160033