0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f4d61736875000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4d617368750000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d4d5300000000000000000000000000000000000000000000000000000000008152508160039081620000fd9190620013be565b5080600490816200010f9190620013be565b50505062000132620001266200023260201b60201c565b6200023a60201b60201c565b6200014d600a836200030060201b620013931790919060201c565b610120818152505062000170600b826200030060201b620013931790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001af6200035d60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200022c3362000202620003ba60201b60201c565b600a62000210919062001635565b620493df62000220919062001686565b620003c360201b60201c565b62001cb5565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000326576200031e83620003de60201b60201c565b905062000357565b826200033d836200044b60201b620013d71760201c565b60000190816200034e9190620013be565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200039f95949392919062001742565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003da82826200045560201b620013e11760201c565b5050565b600080829050601f815111156200042e57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200042591906200182e565b60405180910390fd5b8051816200043c9062001884565b60001c1760001b915050919050565b6000819050919050565b6200046c82826200051360201b6200146e1760201c565b6200047c6200068060201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004aa620006a460201b60201c565b1115620004ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e5906200196a565b60405180910390fd5b6200050d6010620006ae60201b620015c41783620006c660201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000585576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057c90620019dc565b60405180910390fd5b6200059960008383620009eb60201b60201c565b8060026000828254620005ad9190620019fe565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000660919062001a39565b60405180910390a36200067c6000838362000a0860201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006be9190620019fe565b905092915050565b60008060008580549050905060008082146200079657620006f1876001840362000a2560201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007d2565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200080584868860201c565b92506000821180156200083857506200082362000a3a60201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008c057620008548362000a5760201b620015da1760201c565b62000869886001850362000a2560201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009e1565b866040518060400160405280620008f9620008e062000a3a60201b60201c565b65ffffffffffff1662000ac560201b620016451760201c565b63ffffffff1681526020016200091a8662000a5760201b620015da1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a0383838362000b1b60201b620016981760201c565b505050565b62000a2083838362000c1460201b620017501760201c565b505050565b60008260005281602060002001905092915050565b600062000a524362000c6460201b6200177b1760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab49062001acc565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b0a9062001b64565b60405180910390fd5b819050919050565b62000b3383838362000cbc60201b620017d01760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b8f5762000b798262000cc160201b60201c565b62000b8962000d2460201b60201c565b62000c0f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000beb5762000bd58362000cc160201b60201c565b62000be562000d2460201b60201c565b62000c0e565b62000bfc8362000cc160201b60201c565b62000c0d8262000cc160201b60201c565b5b5b505050565b62000c2c83838362000d4860201b620017d51760201c565b62000c5f62000c418462000d4d60201b60201c565b62000c528462000d4d60201b60201c565b8362000db660201b60201c565b505050565b600065ffffffffffff801682111562000cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cab9062001bfc565b60405180910390fd5b819050919050565b505050565b62000d21600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d158362000fd960201b60201c565b6200102160201b60201c565b50565b62000d46600662000d3a620006a460201b60201c565b6200102160201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000df35750600081115b1562000fd457600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000ee65760008062000e8d600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620010ad60201b620017da1785620006c660201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000edb92919062001c1e565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000fd35760008062000f7a600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006ae60201b620015c41785620006c660201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000fc892919062001c1e565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600062001033620010c560201b60201c565b9050806200104a84600001620010e360201b60201c565b1015620010a85782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60008183620010bd919062001c4b565b905092915050565b6000620010de60086200113660201b620017f01760201c565b905090565b600080828054905003620010fb576000905062001131565b81600183805490506200110f919062001c4b565b8154811062001123576200112262001c86565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620011c657607f821691505b602082108103620011dc57620011db6200117e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001207565b62001252868362001207565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200129f6200129962001293846200126a565b62001274565b6200126a565b9050919050565b6000819050919050565b620012bb836200127e565b620012d3620012ca82620012a6565b84845462001214565b825550505050565b600090565b620012ea620012db565b620012f7818484620012b0565b505050565b5b818110156200131f5762001313600082620012e0565b600181019050620012fd565b5050565b601f8211156200136e576200133881620011e2565b6200134384620011f7565b8101602085101562001353578190505b6200136b6200136285620011f7565b830182620012fc565b50505b505050565b600082821c905092915050565b6000620013936000198460080262001373565b1980831691505092915050565b6000620013ae838362001380565b9150826002028217905092915050565b620013c98262001144565b67ffffffffffffffff811115620013e557620013e46200114f565b5b620013f18254620011ad565b620013fe82828562001323565b600060209050601f83116001811462001436576000841562001421578287015190505b6200142d8582620013a0565b8655506200149d565b601f1984166200144686620011e2565b60005b82811015620014705784890151825560018201915060208501945060208101905062001449565b868310156200149057848901516200148c601f89168262001380565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001533578086048111156200150b576200150a620014a5565b5b60018516156200151b5780820291505b80810290506200152b85620014d4565b9450620014eb565b94509492505050565b6000826200154e576001905062001621565b816200155e576000905062001621565b81600181146200157757600281146200158257620015b8565b600191505062001621565b60ff841115620015975762001596620014a5565b5b8360020a915084821115620015b157620015b0620014a5565b5b5062001621565b5060208310610133831016604e8410600b8410161715620015f25782820a905083811115620015ec57620015eb620014a5565b5b62001621565b620016018484846001620014e1565b925090508184048111156200161b576200161a620014a5565b5b81810290505b9392505050565b600060ff82169050919050565b600062001642826200126a565b91506200164f8362001628565b92506200167e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200153c565b905092915050565b600062001693826200126a565b9150620016a0836200126a565b9250828202620016b0816200126a565b91508282048414831517620016ca57620016c9620014a5565b5b5092915050565b6000819050919050565b620016e681620016d1565b82525050565b620016f7816200126a565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200172a82620016fd565b9050919050565b6200173c816200171d565b82525050565b600060a082019050620017596000830188620016db565b620017686020830187620016db565b620017776040830186620016db565b620017866060830185620016ec565b62001795608083018462001731565b9695505050505050565b600082825260208201905092915050565b60005b83811015620017d0578082015181840152602081019050620017b3565b60008484015250505050565b6000601f19601f8301169050919050565b6000620017fa8262001144565b6200180681856200179f565b935062001818818560208601620017b0565b6200182381620017dc565b840191505092915050565b600060208201905081810360008301526200184a8184620017ed565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200187b8251620016d1565b80915050919050565b6000620018918262001852565b826200189d846200185d565b9050620018aa816200186d565b92506020821015620018ed57620018e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262001207565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620019526030836200179f565b91506200195f82620018f4565b604082019050919050565b60006020820190508181036000830152620019858162001943565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620019c4601f836200179f565b9150620019d1826200198c565b602082019050919050565b60006020820190508181036000830152620019f781620019b5565b9050919050565b600062001a0b826200126a565b915062001a18836200126a565b925082820190508082111562001a335762001a32620014a5565b5b92915050565b600060208201905062001a506000830184620016ec565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600062001ab46027836200179f565b915062001ac18262001a56565b604082019050919050565b6000602082019050818103600083015262001ae78162001aa5565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600062001b4c6026836200179f565b915062001b598262001aee565b604082019050919050565b6000602082019050818103600083015262001b7f8162001b3d565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001be46026836200179f565b915062001bf18262001b86565b604082019050919050565b6000602082019050818103600083015262001c178162001bd5565b9050919050565b600060408201905062001c356000830185620016ec565b62001c446020830184620016ec565b9392505050565b600062001c58826200126a565b915062001c65836200126a565b925082820390508181111562001c805762001c7f620014a5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e051610100516101205161014051614cb062001d106000396000610b6101526000610b2d01526000612a07015260006129e601526000611cd501526000611d2b01526000611d540152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80637ecebe001161010f5780639ab24eb0116100a2578063d505accf11610071578063d505accf14610611578063dd62ed3e1461062d578063f1127ed81461065d578063f2fde38b1461068d576101f0565b80639ab24eb014610565578063a457c2d714610595578063a9059cbb146105c5578063c3cda520146105f5576101f0565b806391ddadf4116100de57806391ddadf4146104ef57806395d89b411461050d5780639711715a1461052b578063981b24d014610535576101f0565b80637ecebe001461044d57806384b0196e1461047d5780638da5cb5b146104a15780638e539e8c146104bf576101f0565b806340c10f19116101875780635c19a95c116101565780635c19a95c146103c75780636fcfff45146103e357806370a0823114610413578063715018a614610443576101f0565b806340c10f191461032d5780634bf5d7e9146103495780634ee2cd7e14610367578063587cde1e14610397576101f0565b8063313ce567116101c3578063313ce567146102915780633644e515146102af57806339509351146102cd5780633a46b1a8146102fd576101f0565b806306fdde03146101f5578063095ea7b31461021357806318160ddd1461024357806323b872dd14610261575b600080fd5b6101fd6106a9565b60405161020a9190613273565b60405180910390f35b61022d6004803603810190610228919061332e565b61073b565b60405161023a9190613389565b60405180910390f35b61024b61075e565b60405161025891906133b3565b60405180910390f35b61027b600480360381019061027691906133ce565b610768565b6040516102889190613389565b60405180910390f35b610299610797565b6040516102a6919061343d565b60405180910390f35b6102b76107a0565b6040516102c49190613471565b60405180910390f35b6102e760048036038101906102e2919061332e565b6107af565b6040516102f49190613389565b60405180910390f35b6103176004803603810190610312919061332e565b6107e6565b60405161032491906133b3565b60405180910390f35b6103476004803603810190610342919061332e565b610889565b005b61035161089f565b60405161035e9190613273565b60405180910390f35b610381600480360381019061037c919061332e565b61092d565b60405161038e91906133b3565b60405180910390f35b6103b160048036038101906103ac919061348c565b61099d565b6040516103be91906134c8565b60405180910390f35b6103e160048036038101906103dc919061348c565b610a06565b005b6103fd60048036038101906103f8919061348c565b610a1a565b60405161040a9190613502565b60405180910390f35b61042d6004803603810190610428919061348c565b610a6e565b60405161043a91906133b3565b60405180910390f35b61044b610ab6565b005b6104676004803603810190610462919061348c565b610aca565b60405161047491906133b3565b60405180910390f35b610485610b1a565b6040516104989796959493929190613616565b60405180910390f35b6104a9610c1c565b6040516104b691906134c8565b60405180910390f35b6104d960048036038101906104d4919061369a565b610c46565b6040516104e691906133b3565b60405180910390f35b6104f7610cab565b60405161050491906136e8565b60405180910390f35b610515610cbb565b6040516105229190613273565b60405180910390f35b610533610d4d565b005b61054f600480360381019061054a919061369a565b610d60565b60405161055c91906133b3565b60405180910390f35b61057f600480360381019061057a919061348c565b610d91565b60405161058c91906133b3565b60405180910390f35b6105af60048036038101906105aa919061332e565b610e99565b6040516105bc9190613389565b60405180910390f35b6105df60048036038101906105da919061332e565b610f10565b6040516105ec9190613389565b60405180910390f35b61060f600480360381019061060a919061375b565b610f33565b005b61062b600480360381019061062691906137e8565b611037565b005b6106476004803603810190610642919061388a565b611179565b60405161065491906133b3565b60405180910390f35b610677600480360381019061067291906138f6565b611200565b60405161068491906139ab565b60405180910390f35b6106a760048036038101906106a2919061348c565b611310565b005b6060600380546106b8906139f5565b80601f01602080910402602001604051908101604052809291908181526020018280546106e4906139f5565b80156107315780601f1061070657610100808354040283529160200191610731565b820191906000526020600020905b81548152906001019060200180831161071457829003601f168201915b5050505050905090565b6000806107466117fe565b9050610753818585611806565b600191505092915050565b6000600254905090565b6000806107736117fe565b90506107808582856119cf565b61078b858585611a5b565b60019150509392505050565b60006012905090565b60006107aa611cd1565b905090565b6000806107ba6117fe565b90506107db8185856107cc8589611179565b6107d69190613a55565b611806565b600191505092915050565b60006107f0610cab565b65ffffffffffff168210610839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083090613ad5565b60405180910390fd5b610881600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611d88565b905092915050565b610891611ed0565b61089b8282611f4e565b5050565b6060436108aa610cab565b65ffffffffffff16146108f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e990613b41565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b600080600061097a84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f5c565b91509150816109915761098c85610a6e565b610993565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610a17610a116117fe565b82612051565b50565b6000610a67600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611645565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610abe611ed0565b610ac8600061216b565b565b6000610b13600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206117f0565b9050919050565b600060608060008060006060610b5a600a7f000000000000000000000000000000000000000000000000000000000000000061223190919063ffffffff16565b610b8e600b7f000000000000000000000000000000000000000000000000000000000000000061223190919063ffffffff16565b46306000801b600067ffffffffffffffff811115610baf57610bae613b61565b5b604051908082528060200260200182016040528015610bdd5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610c50610cab565b65ffffffffffff168210610c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9090613ad5565b60405180910390fd5b610ca4601083611d88565b9050919050565b6000610cb64361177b565b905090565b606060048054610cca906139f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf6906139f5565b8015610d435780601f10610d1857610100808354040283529160200191610d43565b820191906000526020600020905b815481529060010190602001808311610d2657829003601f168201915b5050505050905090565b610d55611ed0565b610d5d6122e1565b50565b6000806000610d70846006611f5c565b9150915081610d8657610d8161075e565b610d88565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610e7057600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610e3557610e34613b90565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610e73565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610ea46117fe565b90506000610eb28286611179565b905083811015610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90613c31565b60405180910390fd5b610f048286868403611806565b60019250505092915050565b600080610f1b6117fe565b9050610f28818585611a5b565b600191505092915050565b83421115610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d90613c9d565b60405180910390fd5b6000610fd8610fd07fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610fb59493929190613cbd565b60405160208183030381529060405280519060200120612337565b858585612351565b9050610fe38161237c565b8614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90613d4e565b60405180910390fd5b61102e8188612051565b50505050505050565b8342111561107a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107190613dba565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110a98c61237c565b896040516020016110bf96959493929190613dda565b60405160208183030381529060405280519060200120905060006110e282612337565b905060006110f282878787612351565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611162576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115990613e87565b60405180910390fd5b61116d8a8a8a611806565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112086131a5565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061125f5761125e613b90565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b611318611ed0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e90613f19565b60405180910390fd5b6113908161216b565b50565b60006020835110156113af576113a8836123da565b90506113d1565b826113b9836113d7565b60000190816113c891906140e5565b5060ff60001b90505b92915050565b6000819050919050565b6113eb828261146e565b6113f3612442565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661141961075e565b111561145a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145190614229565b60405180910390fd5b61146860106115c483612466565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d490614295565b60405180910390fd5b6114e960008383612741565b80600260008282546114fb9190613a55565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ac91906133b3565b60405180910390a36115c060008383612751565b5050565b600081836115d29190613a55565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490614327565b60405180910390fd5b819050919050565b600063ffffffff8016821115611690576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611687906143b9565b60405180910390fd5b819050919050565b6116a38383836117d0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ed576116e082612761565b6116e86127b4565b61174b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117375761172a83612761565b6117326127b4565b61174a565b61174083612761565b61174982612761565b5b5b505050565b61175b8383836117d5565b6117766117678461099d565b6117708461099d565b836127c8565b505050565b600065ffffffffffff80168211156117c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bf9061444b565b60405180910390fd5b819050919050565b505050565b505050565b600081836117e8919061446b565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186c90614511565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db906145a3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c291906133b3565b60405180910390a3505050565b60006119db8484611179565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a555781811015611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e9061460f565b60405180910390fd5b611a548484848403611806565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac1906146a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3090614733565b60405180910390fd5b611b44838383612741565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc1906147c5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb891906133b3565b60405180910390a3611ccb848484612751565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d4d57507f000000000000000000000000000000000000000000000000000000000000000046145b15611d7a577f00000000000000000000000000000000000000000000000000000000000000009050611d85565b611d826129c1565b90505b90565b600080838054905090506000808290506005831115611dfe576000611dac84612a57565b84611db7919061446b565b905085611dc48883612b50565b60000160009054906101000a900463ffffffff1663ffffffff161115611dec57809150611dfc565b600181611df99190613a55565b92505b505b5b80821015611e5e576000611e138383612b65565b905085611e208883612b50565b60000160009054906101000a900463ffffffff1663ffffffff161115611e4857809150611e58565b600181611e559190613a55565b92505b50611dff565b60008114611ea457611e738660018303612b50565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611ea7565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611ed86117fe565b73ffffffffffffffffffffffffffffffffffffffff16611ef6610c1c565b73ffffffffffffffffffffffffffffffffffffffff1614611f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4390614831565b60405180910390fd5b565b611f5882826113e1565b5050565b60008060008411611fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f999061489d565b60405180910390fd5b611faa612b8b565b841115611fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe390614909565b60405180910390fd5b60006120048585600001612b9c90919063ffffffff16565b90508360000180549050810361202157600080925092505061204a565b600184600101828154811061203957612038613b90565b5b906000526020600020015492509250505b9250929050565b600061205c8361099d565b9050600061206984610a6e565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46121658284836127c8565b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b606060ff60001b831461224e5761224783612c55565b90506122db565b81805461225a906139f5565b80601f0160208091040260200160405190810160405280929190818152602001828054612286906139f5565b80156122d35780601f106122a8576101008083540402835291602001916122d3565b820191906000526020600020905b8154815290600101906020018083116122b657829003601f168201915b505050505090505b92915050565b60006122ed6008612cc9565b60006122f7612b8b565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb678160405161232891906133b3565b60405180910390a18091505090565b600061234a612344611cd1565b83612cdf565b9050919050565b600080600061236287878787612d20565b9150915061236f81612e02565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506123c9816117f0565b91506123d481612cc9565b50919050565b600080829050601f8151111561242757826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161241e9190613273565b60405180910390fd5b80518161243390614959565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600080600085805490509050600080821461252c576124888760018403612b50565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612568565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061259d84868863ffffffff16565b92506000821180156125c757506125b2610cab565b65ffffffffffff16816000015163ffffffff16145b15612638576125d5836115da565b6125e28860018503612b50565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612737565b86604051806040016040528061265c61264f610cab565b65ffffffffffff16611645565b63ffffffff168152602001612670866115da565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b61274c838383611698565b505050565b61275c838383611750565b505050565b6127b1600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206127ac83610a6e565b612f68565b50565b6127c660066127c161075e565b612f68565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128045750600081115b156129bc57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146128e25760008061288b600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206117da85612466565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516128d79291906149c0565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146129bb57600080612964600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206115c485612466565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516129b09291906149c0565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612a3c9594939291906149e9565b60405160208183030381529060405280519060200120905090565b6000808203612a695760009050612b4b565b60006001612a7684612fe3565b901c6001901b90506001818481612a9057612a8f614a3c565b5b048201901c90506001818481612aa957612aa8614a3c565b5b048201901c90506001818481612ac257612ac1614a3c565b5b048201901c90506001818481612adb57612ada614a3c565b5b048201901c90506001818481612af457612af3614a3c565b5b048201901c90506001818481612b0d57612b0c614a3c565b5b048201901c90506001818481612b2657612b25614a3c565b5b048201901c9050612b4781828581612b4157612b40614a3c565b5b046130c4565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612b769190614a6b565b828416612b839190613a55565b905092915050565b6000612b9760086117f0565b905090565b600080838054905003612bb25760009050612c4f565b600080848054905090505b80821015612c06576000612bd18383612b65565b905084612bde87836130dd565b600001541115612bf057809150612c00565b600181612bfd9190613a55565b92505b50612bbd565b600082118015612c2e575083612c2886600185612c23919061446b565b6130dd565b60000154145b15612c4957600182612c40919061446b565b92505050612c4f565b81925050505b92915050565b60606000612c62836130ff565b90506000602067ffffffffffffffff811115612c8157612c80613b61565b5b6040519080825280601f01601f191660200182016040528015612cb35781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612d5b576000600391509150612df9565b600060018787878760405160008152602001604052604051612d809493929190614a9c565b6020604051602081039080840390855afa158015612da2573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612df057600060019250925050612df9565b80600092509250505b94509492505050565b60006004811115612e1657612e15614ae1565b5b816004811115612e2957612e28614ae1565b5b0315612f655760016004811115612e4357612e42614ae1565b5b816004811115612e5657612e55614ae1565b5b03612e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8d90614b5c565b60405180910390fd5b60026004811115612eaa57612ea9614ae1565b5b816004811115612ebd57612ebc614ae1565b5b03612efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef490614bc8565b60405180910390fd5b60036004811115612f1157612f10614ae1565b5b816004811115612f2457612f23614ae1565b5b03612f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f5b90614c5a565b60405180910390fd5b5b50565b6000612f72612b8b565b905080612f818460000161314f565b1015612fde5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c111561300557608083901c92506080810190505b6000604084901c111561302057604083901c92506040810190505b6000602084901c111561303b57602083901c92506020810190505b6000601084901c111561305657601083901c92506010810190505b6000600884901c111561307157600883901c92506008810190505b6000600484901c111561308c57600483901c92506004810190505b6000600284901c11156130a757600283901c92506002810190505b6000600184901c11156130bb576001810190505b80915050919050565b60008183106130d357816130d5565b825b905092915050565b600080836000528260206000200190506130f68161319b565b91505092915050565b60008060ff8360001c169050601f811115613146576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036131655760009050613196565b8160018380549050613177919061446b565b8154811061318857613187613b90565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561321d578082015181840152602081019050613202565b60008484015250505050565b6000601f19601f8301169050919050565b6000613245826131e3565b61324f81856131ee565b935061325f8185602086016131ff565b61326881613229565b840191505092915050565b6000602082019050818103600083015261328d818461323a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132c58261329a565b9050919050565b6132d5816132ba565b81146132e057600080fd5b50565b6000813590506132f2816132cc565b92915050565b6000819050919050565b61330b816132f8565b811461331657600080fd5b50565b60008135905061332881613302565b92915050565b6000806040838503121561334557613344613295565b5b6000613353858286016132e3565b925050602061336485828601613319565b9150509250929050565b60008115159050919050565b6133838161336e565b82525050565b600060208201905061339e600083018461337a565b92915050565b6133ad816132f8565b82525050565b60006020820190506133c860008301846133a4565b92915050565b6000806000606084860312156133e7576133e6613295565b5b60006133f5868287016132e3565b9350506020613406868287016132e3565b925050604061341786828701613319565b9150509250925092565b600060ff82169050919050565b61343781613421565b82525050565b6000602082019050613452600083018461342e565b92915050565b6000819050919050565b61346b81613458565b82525050565b60006020820190506134866000830184613462565b92915050565b6000602082840312156134a2576134a1613295565b5b60006134b0848285016132e3565b91505092915050565b6134c2816132ba565b82525050565b60006020820190506134dd60008301846134b9565b92915050565b600063ffffffff82169050919050565b6134fc816134e3565b82525050565b600060208201905061351760008301846134f3565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6135528161351d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61358d816132f8565b82525050565b600061359f8383613584565b60208301905092915050565b6000602082019050919050565b60006135c382613558565b6135cd8185613563565b93506135d883613574565b8060005b838110156136095781516135f08882613593565b97506135fb836135ab565b9250506001810190506135dc565b5085935050505092915050565b600060e08201905061362b600083018a613549565b818103602083015261363d818961323a565b90508181036040830152613651818861323a565b905061366060608301876133a4565b61366d60808301866134b9565b61367a60a0830185613462565b81810360c083015261368c81846135b8565b905098975050505050505050565b6000602082840312156136b0576136af613295565b5b60006136be84828501613319565b91505092915050565b600065ffffffffffff82169050919050565b6136e2816136c7565b82525050565b60006020820190506136fd60008301846136d9565b92915050565b61370c81613421565b811461371757600080fd5b50565b60008135905061372981613703565b92915050565b61373881613458565b811461374357600080fd5b50565b6000813590506137558161372f565b92915050565b60008060008060008060c0878903121561377857613777613295565b5b600061378689828a016132e3565b965050602061379789828a01613319565b95505060406137a889828a01613319565b94505060606137b989828a0161371a565b93505060806137ca89828a01613746565b92505060a06137db89828a01613746565b9150509295509295509295565b600080600080600080600060e0888a03121561380757613806613295565b5b60006138158a828b016132e3565b97505060206138268a828b016132e3565b96505060406138378a828b01613319565b95505060606138488a828b01613319565b94505060806138598a828b0161371a565b93505060a061386a8a828b01613746565b92505060c061387b8a828b01613746565b91505092959891949750929550565b600080604083850312156138a1576138a0613295565b5b60006138af858286016132e3565b92505060206138c0858286016132e3565b9150509250929050565b6138d3816134e3565b81146138de57600080fd5b50565b6000813590506138f0816138ca565b92915050565b6000806040838503121561390d5761390c613295565b5b600061391b858286016132e3565b925050602061392c858286016138e1565b9150509250929050565b61393f816134e3565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61397681613945565b82525050565b6040820160008201516139926000850182613936565b5060208201516139a5602085018261396d565b50505050565b60006040820190506139c0600083018461397c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613a0d57607f821691505b602082108103613a2057613a1f6139c6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613a60826132f8565b9150613a6b836132f8565b9250828201905080821115613a8357613a82613a26565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613abf6019836131ee565b9150613aca82613a89565b602082019050919050565b60006020820190508181036000830152613aee81613ab2565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613b2b601d836131ee565b9150613b3682613af5565b602082019050919050565b60006020820190508181036000830152613b5a81613b1e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613c1b6025836131ee565b9150613c2682613bbf565b604082019050919050565b60006020820190508181036000830152613c4a81613c0e565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613c87601d836131ee565b9150613c9282613c51565b602082019050919050565b60006020820190508181036000830152613cb681613c7a565b9050919050565b6000608082019050613cd26000830187613462565b613cdf60208301866134b9565b613cec60408301856133a4565b613cf960608301846133a4565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613d386019836131ee565b9150613d4382613d02565b602082019050919050565b60006020820190508181036000830152613d6781613d2b565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000613da4601d836131ee565b9150613daf82613d6e565b602082019050919050565b60006020820190508181036000830152613dd381613d97565b9050919050565b600060c082019050613def6000830189613462565b613dfc60208301886134b9565b613e0960408301876134b9565b613e1660608301866133a4565b613e2360808301856133a4565b613e3060a08301846133a4565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000613e71601e836131ee565b9150613e7c82613e3b565b602082019050919050565b60006020820190508181036000830152613ea081613e64565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f036026836131ee565b9150613f0e82613ea7565b604082019050919050565b60006020820190508181036000830152613f3281613ef6565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613f9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613f5e565b613fa58683613f5e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613fe2613fdd613fd8846132f8565b613fbd565b6132f8565b9050919050565b6000819050919050565b613ffc83613fc7565b61401061400882613fe9565b848454613f6b565b825550505050565b600090565b614025614018565b614030818484613ff3565b505050565b5b818110156140545761404960008261401d565b600181019050614036565b5050565b601f8211156140995761406a81613f39565b61407384613f4e565b81016020851015614082578190505b61409661408e85613f4e565b830182614035565b50505b505050565b600082821c905092915050565b60006140bc6000198460080261409e565b1980831691505092915050565b60006140d583836140ab565b9150826002028217905092915050565b6140ee826131e3565b67ffffffffffffffff81111561410757614106613b61565b5b61411182546139f5565b61411c828285614058565b600060209050601f83116001811461414f576000841561413d578287015190505b61414785826140c9565b8655506141af565b601f19841661415d86613f39565b60005b8281101561418557848901518255600182019150602085019450602081019050614160565b868310156141a2578489015161419e601f8916826140ab565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006142136030836131ee565b915061421e826141b7565b604082019050919050565b6000602082019050818103600083015261424281614206565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061427f601f836131ee565b915061428a82614249565b602082019050919050565b600060208201905081810360008301526142ae81614272565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006143116027836131ee565b915061431c826142b5565b604082019050919050565b6000602082019050818103600083015261434081614304565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006143a36026836131ee565b91506143ae82614347565b604082019050919050565b600060208201905081810360008301526143d281614396565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006144356026836131ee565b9150614440826143d9565b604082019050919050565b6000602082019050818103600083015261446481614428565b9050919050565b6000614476826132f8565b9150614481836132f8565b925082820390508181111561449957614498613a26565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006144fb6024836131ee565b91506145068261449f565b604082019050919050565b6000602082019050818103600083015261452a816144ee565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061458d6022836131ee565b915061459882614531565b604082019050919050565b600060208201905081810360008301526145bc81614580565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006145f9601d836131ee565b9150614604826145c3565b602082019050919050565b60006020820190508181036000830152614628816145ec565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061468b6025836131ee565b91506146968261462f565b604082019050919050565b600060208201905081810360008301526146ba8161467e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061471d6023836131ee565b9150614728826146c1565b604082019050919050565b6000602082019050818103600083015261474c81614710565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006147af6026836131ee565b91506147ba82614753565b604082019050919050565b600060208201905081810360008301526147de816147a2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061481b6020836131ee565b9150614826826147e5565b602082019050919050565b6000602082019050818103600083015261484a8161480e565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b60006148876016836131ee565b915061489282614851565b602082019050919050565b600060208201905081810360008301526148b68161487a565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b60006148f3601d836131ee565b91506148fe826148bd565b602082019050919050565b60006020820190508181036000830152614922816148e6565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006149508251613458565b80915050919050565b600061496482614929565b8261496e84614934565b905061497981614944565b925060208210156149b9576149b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802613f5e565b831692505b5050919050565b60006040820190506149d560008301856133a4565b6149e260208301846133a4565b9392505050565b600060a0820190506149fe6000830188613462565b614a0b6020830187613462565b614a186040830186613462565b614a2560608301856133a4565b614a3260808301846134b9565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614a76826132f8565b9150614a81836132f8565b925082614a9157614a90614a3c565b5b828204905092915050565b6000608082019050614ab16000830187613462565b614abe602083018661342e565b614acb6040830185613462565b614ad86060830184613462565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614b466018836131ee565b9150614b5182614b10565b602082019050919050565b60006020820190508181036000830152614b7581614b39565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614bb2601f836131ee565b9150614bbd82614b7c565b602082019050919050565b60006020820190508181036000830152614be181614ba5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614c446022836131ee565b9150614c4f82614be8565b604082019050919050565b60006020820190508181036000830152614c7381614c37565b905091905056fea26469706673582212203646bc0b18f84e79eb42d2fa6ce4a8d82649232c0cc006c3096db28fda722c8d64736f6c63430008120033