0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f5072524544000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f50725245440000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f52454400000000000000000000000000000000000000000000000000000000008152508160039081620000fd919062000b24565b5080600490816200010f919062000b24565b50505062000132620001266200023160201b60201c565b6200023960201b60201c565b6200014d600a83620002ff60201b62000bbe1790919060201c565b610120818152505062000170600b82620002ff60201b62000bbe1790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001af6200035c60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200022b3362000202620003b960201b60201c565b600a62000210919062000d9b565b6103e86200021f919062000dec565b620003c260201b60201c565b6200118e565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000325576200031d836200052f60201b60201c565b905062000356565b826200033c836200059c60201b62000c021760201c565b60000190816200034d919062000b24565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200039e95949392919062000ea8565b60405160208183030381529060405280519060200120905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000434576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200042b9062000f66565b60405180910390fd5b6200044860008383620005a660201b60201c565b80600260008282546200045c919062000f88565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200050f919062000fc3565b60405180910390a36200052b60008383620005c360201b60201c565b5050565b600080829050601f815111156200057f57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200057691906200105e565b60405180910390fd5b8051816200058d90620010b4565b60001c1760001b915050919050565b6000819050919050565b620005be838383620005c860201b62000c0c1760201c565b505050565b505050565b620005e0838383620006c160201b62000cc41760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200063c576200062682620006c660201b60201c565b620006366200072960201b60201c565b620006bc565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000698576200068283620006c660201b60201c565b620006926200072960201b60201c565b620006bb565b620006a983620006c660201b60201c565b620006ba82620006c660201b60201c565b5b5b505050565b505050565b62000726600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200071a836200074d60201b60201c565b6200079560201b60201c565b50565b6200074b60066200073f6200082160201b60201c565b6200079560201b60201c565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000620007a76200082b60201b60201c565b905080620007be846000016200084960201b60201c565b10156200081c5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000600254905090565b60006200084460086200089c60201b62000cc91760201c565b905090565b60008082805490500362000861576000905062000897565b816001838054905062000875919062001124565b815481106200088957620008886200115f565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200092c57607f821691505b602082108103620009425762000941620008e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200096d565b620009b886836200096d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000a05620009ff620009f984620009d0565b620009da565b620009d0565b9050919050565b6000819050919050565b62000a2183620009e4565b62000a3962000a308262000a0c565b8484546200097a565b825550505050565b600090565b62000a5062000a41565b62000a5d81848462000a16565b505050565b5b8181101562000a855762000a7960008262000a46565b60018101905062000a63565b5050565b601f82111562000ad45762000a9e8162000948565b62000aa9846200095d565b8101602085101562000ab9578190505b62000ad162000ac8856200095d565b83018262000a62565b50505b505050565b600082821c905092915050565b600062000af96000198460080262000ad9565b1980831691505092915050565b600062000b14838362000ae6565b9150826002028217905092915050565b62000b2f82620008aa565b67ffffffffffffffff81111562000b4b5762000b4a620008b5565b5b62000b57825462000913565b62000b6482828562000a89565b600060209050601f83116001811462000b9c576000841562000b87578287015190505b62000b93858262000b06565b86555062000c03565b601f19841662000bac8662000948565b60005b8281101562000bd65784890151825560018201915060208501945060208101905062000baf565b8683101562000bf6578489015162000bf2601f89168262000ae6565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c995780860481111562000c715762000c7062000c0b565b5b600185161562000c815780820291505b808102905062000c918562000c3a565b945062000c51565b94509492505050565b60008262000cb4576001905062000d87565b8162000cc4576000905062000d87565b816001811462000cdd576002811462000ce85762000d1e565b600191505062000d87565b60ff84111562000cfd5762000cfc62000c0b565b5b8360020a91508482111562000d175762000d1662000c0b565b5b5062000d87565b5060208310610133831016604e8410600b841016171562000d585782820a90508381111562000d525762000d5162000c0b565b5b62000d87565b62000d67848484600162000c47565b9250905081840481111562000d815762000d8062000c0b565b5b81810290505b9392505050565b600060ff82169050919050565b600062000da882620009d0565b915062000db58362000d8e565b925062000de47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ca2565b905092915050565b600062000df982620009d0565b915062000e0683620009d0565b925082820262000e1681620009d0565b9150828204841483151762000e305762000e2f62000c0b565b5b5092915050565b6000819050919050565b62000e4c8162000e37565b82525050565b62000e5d81620009d0565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e908262000e63565b9050919050565b62000ea28162000e83565b82525050565b600060a08201905062000ebf600083018862000e41565b62000ece602083018762000e41565b62000edd604083018662000e41565b62000eec606083018562000e52565b62000efb608083018462000e97565b9695505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000f4e601f8362000f05565b915062000f5b8262000f16565b602082019050919050565b6000602082019050818103600083015262000f818162000f3f565b9050919050565b600062000f9582620009d0565b915062000fa283620009d0565b925082820190508082111562000fbd5762000fbc62000c0b565b5b92915050565b600060208201905062000fda600083018462000e52565b92915050565b60005b838110156200100057808201518184015260208101905062000fe3565b60008484015250505050565b6000601f19601f8301169050919050565b60006200102a82620008aa565b62001036818562000f05565b93506200104881856020860162000fe0565b62001053816200100c565b840191505092915050565b600060208201905081810360008301526200107a81846200101d565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620010ab825162000e37565b80915050919050565b6000620010c18262001082565b82620010cd846200108d565b9050620010da816200109d565b925060208210156200111d57620011187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026200096d565b831692505b5050919050565b60006200113182620009d0565b91506200113e83620009d0565b925082820390508181111562001159576200115862000c0b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e0516101005161012051610140516132c1620011e9600039600061071d015260006106e9015260006118c3015260006118a2015260006111ae015260006112040152600061122d01526132c16000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063981b24d01161007c578063981b24d01461036f578063a457c2d71461039f578063a9059cbb146103cf578063d505accf146103ff578063dd62ed3e1461041b578063f2fde38b1461044b57610142565b80637ecebe00146102d557806384b0196e146103055780638da5cb5b1461032957806395d89b41146103475780639711715a1461036557610142565b80633644e5151161010a5780633644e51514610201578063395093511461021f57806340c10f191461024f5780634ee2cd7e1461026b57806370a082311461029b578063715018a6146102cb57610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b3578063313ce567146101e3575b600080fd5b61014f610467565b60405161015c9190611ee9565b60405180910390f35b61017f600480360381019061017a9190611fa4565b6104f9565b60405161018c9190611fff565b60405180910390f35b61019d61051c565b6040516101aa9190612029565b60405180910390f35b6101cd60048036038101906101c89190612044565b610526565b6040516101da9190611fff565b60405180910390f35b6101eb610555565b6040516101f891906120b3565b60405180910390f35b61020961055e565b60405161021691906120e7565b60405180910390f35b61023960048036038101906102349190611fa4565b61056d565b6040516102469190611fff565b60405180910390f35b61026960048036038101906102649190611fa4565b6105a4565b005b61028560048036038101906102809190611fa4565b6105ba565b6040516102929190612029565b60405180910390f35b6102b560048036038101906102b09190612102565b61062a565b6040516102c29190612029565b60405180910390f35b6102d3610672565b005b6102ef60048036038101906102ea9190612102565b610686565b6040516102fc9190612029565b60405180910390f35b61030d6106d6565b6040516103209796959493929190612237565b60405180910390f35b6103316107d8565b60405161033e91906122bb565b60405180910390f35b61034f610802565b60405161035c9190611ee9565b60405180910390f35b61036d610894565b005b610389600480360381019061038491906122d6565b6108a7565b6040516103969190612029565b60405180910390f35b6103b960048036038101906103b49190611fa4565b6108d8565b6040516103c69190611fff565b60405180910390f35b6103e960048036038101906103e49190611fa4565b61094f565b6040516103f69190611fff565b60405180910390f35b6104196004803603810190610414919061235b565b610972565b005b610435600480360381019061043091906123fd565b610ab4565b6040516104429190612029565b60405180910390f35b61046560048036038101906104609190612102565b610b3b565b005b6060600380546104769061246c565b80601f01602080910402602001604051908101604052809291908181526020018280546104a29061246c565b80156104ef5780601f106104c4576101008083540402835291602001916104ef565b820191906000526020600020905b8154815290600101906020018083116104d257829003601f168201915b5050505050905090565b600080610504610cd7565b9050610511818585610cdf565b600191505092915050565b6000600254905090565b600080610531610cd7565b905061053e858285610ea8565b610549858585610f34565b60019150509392505050565b60006012905090565b60006105686111aa565b905090565b600080610578610cd7565b905061059981858561058a8589610ab4565b61059491906124cc565b610cdf565b600191505092915050565b6105ac611261565b6105b682826112df565b5050565b600080600061060784600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611435565b915091508161061e576106198561062a565b610620565b805b9250505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61067a611261565b610684600061152a565b565b60006106cf600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610cc9565b9050919050565b600060608060008060006060610716600a7f00000000000000000000000000000000000000000000000000000000000000006115f090919063ffffffff16565b61074a600b7f00000000000000000000000000000000000000000000000000000000000000006115f090919063ffffffff16565b46306000801b600067ffffffffffffffff81111561076b5761076a612500565b5b6040519080825280602002602001820160405280156107995781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108119061246c565b80601f016020809104026020016040519081016040528092919081815260200182805461083d9061246c565b801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b5050505050905090565b61089c611261565b6108a46116a0565b50565b60008060006108b7846006611435565b91509150816108cd576108c861051c565b6108cf565b805b92505050919050565b6000806108e3610cd7565b905060006108f18286610ab4565b905083811015610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d906125a1565b60405180910390fd5b6109438286868403610cdf565b60019250505092915050565b60008061095a610cd7565b9050610967818585610f34565b600191505092915050565b834211156109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ac9061260d565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109e48c6116f6565b896040516020016109fa9695949392919061262d565b6040516020818303038152906040528051906020012090506000610a1d82611754565b90506000610a2d8287878761176e565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a94906126da565b60405180910390fd5b610aa88a8a8a610cdf565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b43611261565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba99061276c565b60405180910390fd5b610bbb8161152a565b50565b6000602083511015610bda57610bd383611799565b9050610bfc565b82610be483610c02565b6000019081610bf39190612938565b5060ff60001b90505b92915050565b6000819050919050565b610c17838383610cc4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c6157610c5482611801565b610c5c611854565b610cbf565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cab57610c9e83611801565b610ca6611854565b610cbe565b610cb483611801565b610cbd82611801565b5b5b505050565b505050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4590612a7c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db490612b0e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e9b9190612029565b60405180910390a3505050565b6000610eb48484610ab4565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f2e5781811015610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612b7a565b60405180910390fd5b610f2d8484848403610cdf565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9a90612c0c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100990612c9e565b60405180910390fd5b61101d838383611868565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a90612d30565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111919190612029565b60405180910390a36111a4848484611878565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561122657507f000000000000000000000000000000000000000000000000000000000000000046145b15611253577f0000000000000000000000000000000000000000000000000000000000000000905061125e565b61125b61187d565b90505b90565b611269610cd7565b73ffffffffffffffffffffffffffffffffffffffff166112876107d8565b73ffffffffffffffffffffffffffffffffffffffff16146112dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d490612d9c565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134590612e08565b60405180910390fd5b61135a60008383611868565b806002600082825461136c91906124cc565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161141d9190612029565b60405180910390a361143160008383611878565b5050565b6000806000841161147b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147290612e74565b60405180910390fd5b611483611913565b8411156114c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bc90612ee0565b60405180910390fd5b60006114dd858560000161192490919063ffffffff16565b9050836000018054905081036114fa576000809250925050611523565b600184600101828154811061151257611511612f00565b5b906000526020600020015492509250505b9250929050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b606060ff60001b831461160d57611606836119dd565b905061169a565b8180546116199061246c565b80601f01602080910402602001604051908101604052809291908181526020018280546116459061246c565b80156116925780601f1061166757610100808354040283529160200191611692565b820191906000526020600020905b81548152906001019060200180831161167557829003601f168201915b505050505090505b92915050565b60006116ac6008611a51565b60006116b6611913565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516116e79190612029565b60405180910390a18091505090565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061174381610cc9565b915061174e81611a51565b50919050565b60006117676117616111aa565b83611a67565b9050919050565b600080600061177f87878787611aa8565b9150915061178c81611b8a565b8192505050949350505050565b600080829050601f815111156117e657826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016117dd9190611ee9565b60405180910390fd5b8051816117f290612f5f565b60001c1760001b915050919050565b611851600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061184c8361062a565b611cf0565b50565b611866600661186161051c565b611cf0565b565b611873838383610c0c565b505050565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016118f8959493929190612fc6565b60405160208183030381529060405280519060200120905090565b600061191f6008610cc9565b905090565b60008083805490500361193a57600090506119d7565b600080848054905090505b8082101561198e5760006119598383611d6b565b9050846119668783611d91565b60000154111561197857809150611988565b60018161198591906124cc565b92505b50611945565b6000821180156119b65750836119b0866001856119ab9190613019565b611d91565b60000154145b156119d1576001826119c89190613019565b925050506119d7565b81925050505b92915050565b606060006119ea83611db3565b90506000602067ffffffffffffffff811115611a0957611a08612500565b5b6040519080825280601f01601f191660200182016040528015611a3b5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115611ae3576000600391509150611b81565b600060018787878760405160008152602001604052604051611b08949392919061304d565b6020604051602081039080840390855afa158015611b2a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b7857600060019250925050611b81565b80600092509250505b94509492505050565b60006004811115611b9e57611b9d613092565b5b816004811115611bb157611bb0613092565b5b0315611ced5760016004811115611bcb57611bca613092565b5b816004811115611bde57611bdd613092565b5b03611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c159061310d565b60405180910390fd5b60026004811115611c3257611c31613092565b5b816004811115611c4557611c44613092565b5b03611c85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7c90613179565b60405180910390fd5b60036004811115611c9957611c98613092565b5b816004811115611cac57611cab613092565b5b03611cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce39061320b565b60405180910390fd5b5b50565b6000611cfa611913565b905080611d0984600001611e03565b1015611d665782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60006002828418611d7c919061325a565b828416611d8991906124cc565b905092915050565b60008083600052826020600020019050611daa81611e4f565b91505092915050565b60008060ff8360001c169050601f811115611dfa576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600080828054905003611e195760009050611e4a565b8160018380549050611e2b9190613019565b81548110611e3c57611e3b612f00565b5b906000526020600020015490505b919050565b6000819050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e93578082015181840152602081019050611e78565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ebb82611e59565b611ec58185611e64565b9350611ed5818560208601611e75565b611ede81611e9f565b840191505092915050565b60006020820190508181036000830152611f038184611eb0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f3b82611f10565b9050919050565b611f4b81611f30565b8114611f5657600080fd5b50565b600081359050611f6881611f42565b92915050565b6000819050919050565b611f8181611f6e565b8114611f8c57600080fd5b50565b600081359050611f9e81611f78565b92915050565b60008060408385031215611fbb57611fba611f0b565b5b6000611fc985828601611f59565b9250506020611fda85828601611f8f565b9150509250929050565b60008115159050919050565b611ff981611fe4565b82525050565b60006020820190506120146000830184611ff0565b92915050565b61202381611f6e565b82525050565b600060208201905061203e600083018461201a565b92915050565b60008060006060848603121561205d5761205c611f0b565b5b600061206b86828701611f59565b935050602061207c86828701611f59565b925050604061208d86828701611f8f565b9150509250925092565b600060ff82169050919050565b6120ad81612097565b82525050565b60006020820190506120c860008301846120a4565b92915050565b6000819050919050565b6120e1816120ce565b82525050565b60006020820190506120fc60008301846120d8565b92915050565b60006020828403121561211857612117611f0b565b5b600061212684828501611f59565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6121648161212f565b82525050565b61217381611f30565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121ae81611f6e565b82525050565b60006121c083836121a5565b60208301905092915050565b6000602082019050919050565b60006121e482612179565b6121ee8185612184565b93506121f983612195565b8060005b8381101561222a57815161221188826121b4565b975061221c836121cc565b9250506001810190506121fd565b5085935050505092915050565b600060e08201905061224c600083018a61215b565b818103602083015261225e8189611eb0565b905081810360408301526122728188611eb0565b9050612281606083018761201a565b61228e608083018661216a565b61229b60a08301856120d8565b81810360c08301526122ad81846121d9565b905098975050505050505050565b60006020820190506122d0600083018461216a565b92915050565b6000602082840312156122ec576122eb611f0b565b5b60006122fa84828501611f8f565b91505092915050565b61230c81612097565b811461231757600080fd5b50565b60008135905061232981612303565b92915050565b612338816120ce565b811461234357600080fd5b50565b6000813590506123558161232f565b92915050565b600080600080600080600060e0888a03121561237a57612379611f0b565b5b60006123888a828b01611f59565b97505060206123998a828b01611f59565b96505060406123aa8a828b01611f8f565b95505060606123bb8a828b01611f8f565b94505060806123cc8a828b0161231a565b93505060a06123dd8a828b01612346565b92505060c06123ee8a828b01612346565b91505092959891949750929550565b6000806040838503121561241457612413611f0b565b5b600061242285828601611f59565b925050602061243385828601611f59565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061248457607f821691505b6020821081036124975761249661243d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006124d782611f6e565b91506124e283611f6e565b92508282019050808211156124fa576124f961249d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061258b602583611e64565b91506125968261252f565b604082019050919050565b600060208201905081810360008301526125ba8161257e565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006125f7601d83611e64565b9150612602826125c1565b602082019050919050565b60006020820190508181036000830152612626816125ea565b9050919050565b600060c08201905061264260008301896120d8565b61264f602083018861216a565b61265c604083018761216a565b612669606083018661201a565b612676608083018561201a565b61268360a083018461201a565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006126c4601e83611e64565b91506126cf8261268e565b602082019050919050565b600060208201905081810360008301526126f3816126b7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612756602683611e64565b9150612761826126fa565b604082019050919050565b6000602082019050818103600083015261278581612749565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026127ee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826127b1565b6127f886836127b1565b95508019841693508086168417925050509392505050565b6000819050919050565b600061283561283061282b84611f6e565b612810565b611f6e565b9050919050565b6000819050919050565b61284f8361281a565b61286361285b8261283c565b8484546127be565b825550505050565b600090565b61287861286b565b612883818484612846565b505050565b5b818110156128a75761289c600082612870565b600181019050612889565b5050565b601f8211156128ec576128bd8161278c565b6128c6846127a1565b810160208510156128d5578190505b6128e96128e1856127a1565b830182612888565b50505b505050565b600082821c905092915050565b600061290f600019846008026128f1565b1980831691505092915050565b600061292883836128fe565b9150826002028217905092915050565b61294182611e59565b67ffffffffffffffff81111561295a57612959612500565b5b612964825461246c565b61296f8282856128ab565b600060209050601f8311600181146129a25760008415612990578287015190505b61299a858261291c565b865550612a02565b601f1984166129b08661278c565b60005b828110156129d8578489015182556001820191506020850194506020810190506129b3565b868310156129f557848901516129f1601f8916826128fe565b8355505b6001600288020188555050505b505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a66602483611e64565b9150612a7182612a0a565b604082019050919050565b60006020820190508181036000830152612a9581612a59565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612af8602283611e64565b9150612b0382612a9c565b604082019050919050565b60006020820190508181036000830152612b2781612aeb565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612b64601d83611e64565b9150612b6f82612b2e565b602082019050919050565b60006020820190508181036000830152612b9381612b57565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bf6602583611e64565b9150612c0182612b9a565b604082019050919050565b60006020820190508181036000830152612c2581612be9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c88602383611e64565b9150612c9382612c2c565b604082019050919050565b60006020820190508181036000830152612cb781612c7b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612d1a602683611e64565b9150612d2582612cbe565b604082019050919050565b60006020820190508181036000830152612d4981612d0d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d86602083611e64565b9150612d9182612d50565b602082019050919050565b60006020820190508181036000830152612db581612d79565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000612df2601f83611e64565b9150612dfd82612dbc565b602082019050919050565b60006020820190508181036000830152612e2181612de5565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b6000612e5e601683611e64565b9150612e6982612e28565b602082019050919050565b60006020820190508181036000830152612e8d81612e51565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b6000612eca601d83611e64565b9150612ed582612e94565b602082019050919050565b60006020820190508181036000830152612ef981612ebd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b6000819050602082019050919050565b6000612f5682516120ce565b80915050919050565b6000612f6a82612f2f565b82612f7484612f3a565b9050612f7f81612f4a565b92506020821015612fbf57612fba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026127b1565b831692505b5050919050565b600060a082019050612fdb60008301886120d8565b612fe860208301876120d8565b612ff560408301866120d8565b613002606083018561201a565b61300f608083018461216a565b9695505050505050565b600061302482611f6e565b915061302f83611f6e565b92508282039050818111156130475761304661249d565b5b92915050565b600060808201905061306260008301876120d8565b61306f60208301866120a4565b61307c60408301856120d8565b61308960608301846120d8565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006130f7601883611e64565b9150613102826130c1565b602082019050919050565b60006020820190508181036000830152613126816130ea565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000613163601f83611e64565b915061316e8261312d565b602082019050919050565b6000602082019050818103600083015261319281613156565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006131f5602283611e64565b915061320082613199565b604082019050919050565b60006020820190508181036000830152613224816131e8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061326582611f6e565b915061327083611f6e565b9250826132805761327f61322b565b5b82820490509291505056fea2646970667358221220b375822047f2938a7f06a4c5d481c2b1096d43fc1c6dca46fa1cdb241c70dbcc64736f6c63430008120033