0x6101606040523480156200001257600080fd5b506040518060400160405280600681526020017f5768697431360000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f57686974313600000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f57683136000000000000000000000000000000000000000000000000000000008152508160039081620000fd9190620013be565b5080600490816200010f9190620013be565b50505062000132620001266200023260201b60201c565b6200023a60201b60201c565b6200014d600a836200030060201b620014151790919060201c565b610120818152505062000170600b826200030060201b620014151790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001af6200035d60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200022c3362000202620003ba60201b60201c565b600a62000210919062001635565b6201e24062000220919062001686565b620003c360201b60201c565b62001cb5565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000326576200031e83620003de60201b60201c565b905062000357565b826200033d836200044b60201b620014591760201c565b60000190816200034e9190620013be565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200039f95949392919062001742565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003da82826200045560201b620014631760201c565b5050565b600080829050601f815111156200042e57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200042591906200182e565b60405180910390fd5b8051816200043c9062001884565b60001c1760001b915050919050565b6000819050919050565b6200046c82826200051360201b620014f01760201c565b6200047c6200068060201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004aa620006a460201b60201c565b1115620004ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e5906200196a565b60405180910390fd5b6200050d6010620006ae60201b620016461783620006c660201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000585576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057c90620019dc565b60405180910390fd5b6200059960008383620009eb60201b60201c565b8060026000828254620005ad9190620019fe565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000660919062001a39565b60405180910390a36200067c6000838362000a0860201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006be9190620019fe565b905092915050565b60008060008580549050905060008082146200079657620006f1876001840362000a2560201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007d2565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200080584868860201c565b92506000821180156200083857506200082362000a3a60201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008c057620008548362000a5760201b6200165c1760201c565b62000869886001850362000a2560201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009e1565b866040518060400160405280620008f9620008e062000a3a60201b60201c565b65ffffffffffff1662000ac560201b620016c71760201c565b63ffffffff1681526020016200091a8662000a5760201b6200165c1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a0383838362000b1b60201b6200171a1760201c565b505050565b62000a2083838362000c1460201b620017d21760201c565b505050565b60008260005281602060002001905092915050565b600062000a524362000c6460201b620017fd1760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab49062001acc565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b0a9062001b64565b60405180910390fd5b819050919050565b62000b3383838362000cbc60201b620018521760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b8f5762000b798262000cc160201b60201c565b62000b8962000d2460201b60201c565b62000c0f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000beb5762000bd58362000cc160201b60201c565b62000be562000d2460201b60201c565b62000c0e565b62000bfc8362000cc160201b60201c565b62000c0d8262000cc160201b60201c565b5b5b505050565b62000c2c83838362000d4860201b620018571760201c565b62000c5f62000c418462000d4d60201b60201c565b62000c528462000d4d60201b60201c565b8362000db660201b60201c565b505050565b600065ffffffffffff801682111562000cb4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cab9062001bfc565b60405180910390fd5b819050919050565b505050565b62000d21600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d158362000fd960201b60201c565b6200102160201b60201c565b50565b62000d46600662000d3a620006a460201b60201c565b6200102160201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000df35750600081115b1562000fd457600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000ee65760008062000e8d600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620010ad60201b6200185c1785620006c660201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000edb92919062001c1e565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000fd35760008062000f7a600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006ae60201b620016461785620006c660201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000fc892919062001c1e565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600062001033620010c560201b60201c565b9050806200104a84600001620010e360201b60201c565b1015620010a85782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60008183620010bd919062001c4b565b905092915050565b6000620010de60086200113660201b620018721760201c565b905090565b600080828054905003620010fb576000905062001131565b81600183805490506200110f919062001c4b565b8154811062001123576200112262001c86565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620011c657607f821691505b602082108103620011dc57620011db6200117e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001207565b62001252868362001207565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200129f6200129962001293846200126a565b62001274565b6200126a565b9050919050565b6000819050919050565b620012bb836200127e565b620012d3620012ca82620012a6565b84845462001214565b825550505050565b600090565b620012ea620012db565b620012f7818484620012b0565b505050565b5b818110156200131f5762001313600082620012e0565b600181019050620012fd565b5050565b601f8211156200136e576200133881620011e2565b6200134384620011f7565b8101602085101562001353578190505b6200136b6200136285620011f7565b830182620012fc565b50505b505050565b600082821c905092915050565b6000620013936000198460080262001373565b1980831691505092915050565b6000620013ae838362001380565b9150826002028217905092915050565b620013c98262001144565b67ffffffffffffffff811115620013e557620013e46200114f565b5b620013f18254620011ad565b620013fe82828562001323565b600060209050601f83116001811462001436576000841562001421578287015190505b6200142d8582620013a0565b8655506200149d565b601f1984166200144686620011e2565b60005b82811015620014705784890151825560018201915060208501945060208101905062001449565b868310156200149057848901516200148c601f89168262001380565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001533578086048111156200150b576200150a620014a5565b5b60018516156200151b5780820291505b80810290506200152b85620014d4565b9450620014eb565b94509492505050565b6000826200154e576001905062001621565b816200155e576000905062001621565b81600181146200157757600281146200158257620015b8565b600191505062001621565b60ff841115620015975762001596620014a5565b5b8360020a915084821115620015b157620015b0620014a5565b5b5062001621565b5060208310610133831016604e8410600b8410161715620015f25782820a905083811115620015ec57620015eb620014a5565b5b62001621565b620016018484846001620014e1565b925090508184048111156200161b576200161a620014a5565b5b81810290505b9392505050565b600060ff82169050919050565b600062001642826200126a565b91506200164f8362001628565b92506200167e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200153c565b905092915050565b600062001693826200126a565b9150620016a0836200126a565b9250828202620016b0816200126a565b91508282048414831517620016ca57620016c9620014a5565b5b5092915050565b6000819050919050565b620016e681620016d1565b82525050565b620016f7816200126a565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200172a82620016fd565b9050919050565b6200173c816200171d565b82525050565b600060a082019050620017596000830188620016db565b620017686020830187620016db565b620017776040830186620016db565b620017866060830185620016ec565b62001795608083018462001731565b9695505050505050565b600082825260208201905092915050565b60005b83811015620017d0578082015181840152602081019050620017b3565b60008484015250505050565b6000601f19601f8301169050919050565b6000620017fa8262001144565b6200180681856200179f565b935062001818818560208601620017b0565b6200182381620017dc565b840191505092915050565b600060208201905081810360008301526200184a8184620017ed565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200187b8251620016d1565b80915050919050565b6000620018918262001852565b826200189d846200185d565b9050620018aa816200186d565b92506020821015620018ed57620018e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262001207565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620019526030836200179f565b91506200195f82620018f4565b604082019050919050565b60006020820190508181036000830152620019858162001943565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620019c4601f836200179f565b9150620019d1826200198c565b602082019050919050565b60006020820190508181036000830152620019f781620019b5565b9050919050565b600062001a0b826200126a565b915062001a18836200126a565b925082820190508082111562001a335762001a32620014a5565b5b92915050565b600060208201905062001a506000830184620016ec565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600062001ab46027836200179f565b915062001ac18262001a56565b604082019050919050565b6000602082019050818103600083015262001ae78162001aa5565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600062001b4c6026836200179f565b915062001b598262001aee565b604082019050919050565b6000602082019050818103600083015262001b7f8162001b3d565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001be46026836200179f565b915062001bf18262001b86565b604082019050919050565b6000602082019050818103600083015262001c178162001bd5565b9050919050565b600060408201905062001c356000830185620016ec565b62001c446020830184620016ec565b9392505050565b600062001c58826200126a565b915062001c65836200126a565b925082820390508181111562001c805762001c7f620014a5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161504f62001d106000396000610be301526000610baf01526000612a9701526000612a7601526000611d5701526000611dad01526000611dd6015261504f6000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806379cc67901161011a578063981b24d0116100ad578063c3cda5201161007c578063c3cda52014610643578063d505accf1461065f578063dd62ed3e1461067b578063f1127ed8146106ab578063f2fde38b146106db57610206565b8063981b24d0146105835780639ab24eb0146105b3578063a457c2d7146105e3578063a9059cbb1461061357610206565b80638e539e8c116100e95780638e539e8c1461050d57806391ddadf41461053d57806395d89b411461055b5780639711715a1461057957610206565b806379cc67901461047f5780637ecebe001461049b57806384b0196e146104cb5780638da5cb5b146104ef57610206565b806340c10f191161019d578063587cde1e1161016c578063587cde1e146103c95780635c19a95c146103f95780636fcfff451461041557806370a0823114610445578063715018a61461047557610206565b806340c10f191461034357806342966c681461035f5780634bf5d7e91461037b5780634ee2cd7e1461039957610206565b8063313ce567116101d9578063313ce567146102a75780633644e515146102c557806339509351146102e35780633a46b1a81461031357610206565b806306fdde031461020b578063095ea7b31461022957806318160ddd1461025957806323b872dd14610277575b600080fd5b6102136106f7565b60405161022091906134ee565b60405180910390f35b610243600480360381019061023e91906135a9565b610789565b6040516102509190613604565b60405180910390f35b6102616107ac565b60405161026e919061362e565b60405180910390f35b610291600480360381019061028c9190613649565b6107b6565b60405161029e9190613604565b60405180910390f35b6102af6107e5565b6040516102bc91906136b8565b60405180910390f35b6102cd6107ee565b6040516102da91906136ec565b60405180910390f35b6102fd60048036038101906102f891906135a9565b6107fd565b60405161030a9190613604565b60405180910390f35b61032d600480360381019061032891906135a9565b610834565b60405161033a919061362e565b60405180910390f35b61035d600480360381019061035891906135a9565b6108d7565b005b61037960048036038101906103749190613707565b6108ed565b005b610383610901565b60405161039091906134ee565b60405180910390f35b6103b360048036038101906103ae91906135a9565b61098f565b6040516103c0919061362e565b60405180910390f35b6103e360048036038101906103de9190613734565b6109ff565b6040516103f09190613770565b60405180910390f35b610413600480360381019061040e9190613734565b610a68565b005b61042f600480360381019061042a9190613734565b610a7c565b60405161043c91906137aa565b60405180910390f35b61045f600480360381019061045a9190613734565b610ad0565b60405161046c919061362e565b60405180910390f35b61047d610b18565b005b610499600480360381019061049491906135a9565b610b2c565b005b6104b560048036038101906104b09190613734565b610b4c565b6040516104c2919061362e565b60405180910390f35b6104d3610b9c565b6040516104e697969594939291906138be565b60405180910390f35b6104f7610c9e565b6040516105049190613770565b60405180910390f35b61052760048036038101906105229190613707565b610cc8565b604051610534919061362e565b60405180910390f35b610545610d2d565b6040516105529190613963565b60405180910390f35b610563610d3d565b60405161057091906134ee565b60405180910390f35b610581610dcf565b005b61059d60048036038101906105989190613707565b610de2565b6040516105aa919061362e565b60405180910390f35b6105cd60048036038101906105c89190613734565b610e13565b6040516105da919061362e565b60405180910390f35b6105fd60048036038101906105f891906135a9565b610f1b565b60405161060a9190613604565b60405180910390f35b61062d600480360381019061062891906135a9565b610f92565b60405161063a9190613604565b60405180910390f35b61065d600480360381019061065891906139d6565b610fb5565b005b61067960048036038101906106749190613a63565b6110b9565b005b61069560048036038101906106909190613b05565b6111fb565b6040516106a2919061362e565b60405180910390f35b6106c560048036038101906106c09190613b71565b611282565b6040516106d29190613c26565b60405180910390f35b6106f560048036038101906106f09190613734565b611392565b005b60606003805461070690613c70565b80601f016020809104026020016040519081016040528092919081815260200182805461073290613c70565b801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b5050505050905090565b600080610794611880565b90506107a1818585611888565b600191505092915050565b6000600254905090565b6000806107c1611880565b90506107ce858285611a51565b6107d9858585611add565b60019150509392505050565b60006012905090565b60006107f8611d53565b905090565b600080610808611880565b905061082981858561081a85896111fb565b6108249190613cd0565b611888565b600191505092915050565b600061083e610d2d565b65ffffffffffff168210610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e90613d50565b60405180910390fd5b6108cf600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611e0a565b905092915050565b6108df611f52565b6108e98282611fd0565b5050565b6108fe6108f8611880565b82611fde565b50565b60604361090c610d2d565b65ffffffffffff1614610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b90613dbc565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b60008060006109dc84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611fec565b91509150816109f3576109ee85610ad0565b6109f5565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610a79610a73611880565b826120e1565b50565b6000610ac9600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506116c7565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b20611f52565b610b2a60006121fb565b565b610b3e82610b38611880565b83611a51565b610b488282611fde565b5050565b6000610b95600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611872565b9050919050565b600060608060008060006060610bdc600a7f00000000000000000000000000000000000000000000000000000000000000006122c190919063ffffffff16565b610c10600b7f00000000000000000000000000000000000000000000000000000000000000006122c190919063ffffffff16565b46306000801b600067ffffffffffffffff811115610c3157610c30613ddc565b5b604051908082528060200260200182016040528015610c5f5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610cd2610d2d565b65ffffffffffff168210610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1290613d50565b60405180910390fd5b610d26601083611e0a565b9050919050565b6000610d38436117fd565b905090565b606060048054610d4c90613c70565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7890613c70565b8015610dc55780601f10610d9a57610100808354040283529160200191610dc5565b820191906000526020600020905b815481529060010190602001808311610da857829003601f168201915b5050505050905090565b610dd7611f52565b610ddf612371565b50565b6000806000610df2846006611fec565b9150915081610e0857610e036107ac565b610e0a565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610ef257600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610eb757610eb6613e0b565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610ef5565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610f26611880565b90506000610f3482866111fb565b905083811015610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7090613eac565b60405180910390fd5b610f868286868403611888565b60019250505092915050565b600080610f9d611880565b9050610faa818585611add565b600191505092915050565b83421115610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef90613f18565b60405180910390fd5b600061105a6110527fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016110379493929190613f38565b604051602081830303815290604052805190602001206123c7565b8585856123e1565b90506110658161240c565b86146110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109d90613fc9565b60405180910390fd5b6110b081886120e1565b50505050505050565b834211156110fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f390614035565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861112b8c61240c565b8960405160200161114196959493929190614055565b6040516020818303038152906040528051906020012090506000611164826123c7565b90506000611174828787876123e1565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111db90614102565b60405180910390fd5b6111ef8a8a8a611888565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61128a613420565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106112e1576112e0613e0b565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61139a611f52565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140090614194565b60405180910390fd5b611412816121fb565b50565b60006020835110156114315761142a8361246a565b9050611453565b8261143b83611459565b600001908161144a9190614360565b5060ff60001b90505b92915050565b6000819050919050565b61146d82826114f0565b6114756124d2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661149b6107ac565b11156114dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d3906144a4565b60405180910390fd5b6114ea6010611646836124f6565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361155f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155690614510565b60405180910390fd5b61156b600083836127d1565b806002600082825461157d9190613cd0565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161162e919061362e565b60405180910390a3611642600083836127e1565b5050565b600081836116549190613cd0565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b6906145a2565b60405180910390fd5b819050919050565b600063ffffffff8016821115611712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170990614634565b60405180910390fd5b819050919050565b611725838383611852565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361176f57611762826127f1565b61176a612844565b6117cd565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b9576117ac836127f1565b6117b4612844565b6117cc565b6117c2836127f1565b6117cb826127f1565b5b5b505050565b6117dd838383611857565b6117f86117e9846109ff565b6117f2846109ff565b83612858565b505050565b600065ffffffffffff801682111561184a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611841906146c6565b60405180910390fd5b819050919050565b505050565b505050565b6000818361186a91906146e6565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ee9061478c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195d9061481e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a44919061362e565b60405180910390a3505050565b6000611a5d84846111fb565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ad75781811015611ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac09061488a565b60405180910390fd5b611ad68484848403611888565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b439061491c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb2906149ae565b60405180910390fd5b611bc68383836127d1565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4390614a40565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d3a919061362e565b60405180910390a3611d4d8484846127e1565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611dcf57507f000000000000000000000000000000000000000000000000000000000000000046145b15611dfc577f00000000000000000000000000000000000000000000000000000000000000009050611e07565b611e04612a51565b90505b90565b600080838054905090506000808290506005831115611e80576000611e2e84612ae7565b84611e3991906146e6565b905085611e468883612be0565b60000160009054906101000a900463ffffffff1663ffffffff161115611e6e57809150611e7e565b600181611e7b9190613cd0565b92505b505b5b80821015611ee0576000611e958383612bf5565b905085611ea28883612be0565b60000160009054906101000a900463ffffffff1663ffffffff161115611eca57809150611eda565b600181611ed79190613cd0565b92505b50611e81565b60008114611f2657611ef58660018303612be0565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611f29565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611f5a611880565b73ffffffffffffffffffffffffffffffffffffffff16611f78610c9e565b73ffffffffffffffffffffffffffffffffffffffff1614611fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc590614aac565b60405180910390fd5b565b611fda8282611463565b5050565b611fe88282612c1b565b5050565b60008060008411612032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202990614b18565b60405180910390fd5b61203a612c39565b84111561207c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207390614b84565b60405180910390fd5b60006120948585600001612c4a90919063ffffffff16565b9050836000018054905081036120b15760008092509250506120da565b60018460010182815481106120c9576120c8613e0b565b5b906000526020600020015492509250505b9250929050565b60006120ec836109ff565b905060006120f984610ad0565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46121f5828483612858565b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b606060ff60001b83146122de576122d783612d03565b905061236b565b8180546122ea90613c70565b80601f016020809104026020016040519081016040528092919081815260200182805461231690613c70565b80156123635780601f1061233857610100808354040283529160200191612363565b820191906000526020600020905b81548152906001019060200180831161234657829003601f168201915b505050505090505b92915050565b600061237d6008612d77565b6000612387612c39565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516123b8919061362e565b60405180910390a18091505090565b60006123da6123d4611d53565b83612d8d565b9050919050565b60008060006123f287878787612dce565b915091506123ff81612eb0565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061245981611872565b915061246481612d77565b50919050565b600080829050601f815111156124b757826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016124ae91906134ee565b60405180910390fd5b8051816124c390614bd4565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146125bc576125188760018403612be0565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250506125f8565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061262d84868863ffffffff16565b92506000821180156126575750612642610d2d565b65ffffffffffff16816000015163ffffffff16145b156126c8576126658361165c565b6126728860018503612be0565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506127c7565b8660405180604001604052806126ec6126df610d2d565b65ffffffffffff166116c7565b63ffffffff1681526020016127008661165c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b6127dc83838361171a565b505050565b6127ec8383836117d2565b505050565b612841600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061283c83610ad0565b613016565b50565b61285660066128516107ac565b613016565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128945750600081115b15612a4c57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146129725760008061291b600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061185c856124f6565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612967929190614c3b565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a4b576000806129f4600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611646856124f6565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612a40929190614c3b565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612acc959493929190614c64565b60405160208183030381529060405280519060200120905090565b6000808203612af95760009050612bdb565b60006001612b0684613091565b901c6001901b90506001818481612b2057612b1f614cb7565b5b048201901c90506001818481612b3957612b38614cb7565b5b048201901c90506001818481612b5257612b51614cb7565b5b048201901c90506001818481612b6b57612b6a614cb7565b5b048201901c90506001818481612b8457612b83614cb7565b5b048201901c90506001818481612b9d57612b9c614cb7565b5b048201901c90506001818481612bb657612bb5614cb7565b5b048201901c9050612bd781828581612bd157612bd0614cb7565b5b04613172565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612c069190614ce6565b828416612c139190613cd0565b905092915050565b612c25828261318b565b612c33601061185c836124f6565b50505050565b6000612c456008611872565b905090565b600080838054905003612c605760009050612cfd565b600080848054905090505b80821015612cb4576000612c7f8383612bf5565b905084612c8c8783613358565b600001541115612c9e57809150612cae565b600181612cab9190613cd0565b92505b50612c6b565b600082118015612cdc575083612cd686600185612cd191906146e6565b613358565b60000154145b15612cf757600182612cee91906146e6565b92505050612cfd565b81925050505b92915050565b60606000612d108361337a565b90506000602067ffffffffffffffff811115612d2f57612d2e613ddc565b5b6040519080825280601f01601f191660200182016040528015612d615781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612e09576000600391509150612ea7565b600060018787878760405160008152602001604052604051612e2e9493929190614d17565b6020604051602081039080840390855afa158015612e50573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e9e57600060019250925050612ea7565b80600092509250505b94509492505050565b60006004811115612ec457612ec3614d5c565b5b816004811115612ed757612ed6614d5c565b5b03156130135760016004811115612ef157612ef0614d5c565b5b816004811115612f0457612f03614d5c565b5b03612f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3b90614dd7565b60405180910390fd5b60026004811115612f5857612f57614d5c565b5b816004811115612f6b57612f6a614d5c565b5b03612fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa290614e43565b60405180910390fd5b60036004811115612fbf57612fbe614d5c565b5b816004811115612fd257612fd1614d5c565b5b03613012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161300990614ed5565b60405180910390fd5b5b50565b6000613020612c39565b90508061302f846000016133ca565b101561308c5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c11156130b357608083901c92506080810190505b6000604084901c11156130ce57604083901c92506040810190505b6000602084901c11156130e957602083901c92506020810190505b6000601084901c111561310457601083901c92506010810190505b6000600884901c111561311f57600883901c92506008810190505b6000600484901c111561313a57600483901c92506004810190505b6000600284901c111561315557600283901c92506002810190505b6000600184901c1115613169576001810190505b80915050919050565b60008183106131815781613183565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036131fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f190614f67565b60405180910390fd5b613206826000836127d1565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561328c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328390614ff9565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161333f919061362e565b60405180910390a3613353836000846127e1565b505050565b6000808360005282602060002001905061337181613416565b91505092915050565b60008060ff8360001c169050601f8111156133c1576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036133e05760009050613411565b81600183805490506133f291906146e6565b8154811061340357613402613e0b565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561349857808201518184015260208101905061347d565b60008484015250505050565b6000601f19601f8301169050919050565b60006134c08261345e565b6134ca8185613469565b93506134da81856020860161347a565b6134e3816134a4565b840191505092915050565b6000602082019050818103600083015261350881846134b5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061354082613515565b9050919050565b61355081613535565b811461355b57600080fd5b50565b60008135905061356d81613547565b92915050565b6000819050919050565b61358681613573565b811461359157600080fd5b50565b6000813590506135a38161357d565b92915050565b600080604083850312156135c0576135bf613510565b5b60006135ce8582860161355e565b92505060206135df85828601613594565b9150509250929050565b60008115159050919050565b6135fe816135e9565b82525050565b600060208201905061361960008301846135f5565b92915050565b61362881613573565b82525050565b6000602082019050613643600083018461361f565b92915050565b60008060006060848603121561366257613661613510565b5b60006136708682870161355e565b93505060206136818682870161355e565b925050604061369286828701613594565b9150509250925092565b600060ff82169050919050565b6136b28161369c565b82525050565b60006020820190506136cd60008301846136a9565b92915050565b6000819050919050565b6136e6816136d3565b82525050565b600060208201905061370160008301846136dd565b92915050565b60006020828403121561371d5761371c613510565b5b600061372b84828501613594565b91505092915050565b60006020828403121561374a57613749613510565b5b60006137588482850161355e565b91505092915050565b61376a81613535565b82525050565b60006020820190506137856000830184613761565b92915050565b600063ffffffff82169050919050565b6137a48161378b565b82525050565b60006020820190506137bf600083018461379b565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6137fa816137c5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61383581613573565b82525050565b6000613847838361382c565b60208301905092915050565b6000602082019050919050565b600061386b82613800565b613875818561380b565b93506138808361381c565b8060005b838110156138b1578151613898888261383b565b97506138a383613853565b925050600181019050613884565b5085935050505092915050565b600060e0820190506138d3600083018a6137f1565b81810360208301526138e581896134b5565b905081810360408301526138f981886134b5565b9050613908606083018761361f565b6139156080830186613761565b61392260a08301856136dd565b81810360c08301526139348184613860565b905098975050505050505050565b600065ffffffffffff82169050919050565b61395d81613942565b82525050565b60006020820190506139786000830184613954565b92915050565b6139878161369c565b811461399257600080fd5b50565b6000813590506139a48161397e565b92915050565b6139b3816136d3565b81146139be57600080fd5b50565b6000813590506139d0816139aa565b92915050565b60008060008060008060c087890312156139f3576139f2613510565b5b6000613a0189828a0161355e565b9650506020613a1289828a01613594565b9550506040613a2389828a01613594565b9450506060613a3489828a01613995565b9350506080613a4589828a016139c1565b92505060a0613a5689828a016139c1565b9150509295509295509295565b600080600080600080600060e0888a031215613a8257613a81613510565b5b6000613a908a828b0161355e565b9750506020613aa18a828b0161355e565b9650506040613ab28a828b01613594565b9550506060613ac38a828b01613594565b9450506080613ad48a828b01613995565b93505060a0613ae58a828b016139c1565b92505060c0613af68a828b016139c1565b91505092959891949750929550565b60008060408385031215613b1c57613b1b613510565b5b6000613b2a8582860161355e565b9250506020613b3b8582860161355e565b9150509250929050565b613b4e8161378b565b8114613b5957600080fd5b50565b600081359050613b6b81613b45565b92915050565b60008060408385031215613b8857613b87613510565b5b6000613b968582860161355e565b9250506020613ba785828601613b5c565b9150509250929050565b613bba8161378b565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613bf181613bc0565b82525050565b604082016000820151613c0d6000850182613bb1565b506020820151613c206020850182613be8565b50505050565b6000604082019050613c3b6000830184613bf7565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c8857607f821691505b602082108103613c9b57613c9a613c41565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cdb82613573565b9150613ce683613573565b9250828201905080821115613cfe57613cfd613ca1565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613d3a601983613469565b9150613d4582613d04565b602082019050919050565b60006020820190508181036000830152613d6981613d2d565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613da6601d83613469565b9150613db182613d70565b602082019050919050565b60006020820190508181036000830152613dd581613d99565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613e96602583613469565b9150613ea182613e3a565b604082019050919050565b60006020820190508181036000830152613ec581613e89565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613f02601d83613469565b9150613f0d82613ecc565b602082019050919050565b60006020820190508181036000830152613f3181613ef5565b9050919050565b6000608082019050613f4d60008301876136dd565b613f5a6020830186613761565b613f67604083018561361f565b613f74606083018461361f565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613fb3601983613469565b9150613fbe82613f7d565b602082019050919050565b60006020820190508181036000830152613fe281613fa6565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b600061401f601d83613469565b915061402a82613fe9565b602082019050919050565b6000602082019050818103600083015261404e81614012565b9050919050565b600060c08201905061406a60008301896136dd565b6140776020830188613761565b6140846040830187613761565b614091606083018661361f565b61409e608083018561361f565b6140ab60a083018461361f565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006140ec601e83613469565b91506140f7826140b6565b602082019050919050565b6000602082019050818103600083015261411b816140df565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061417e602683613469565b915061418982614122565b604082019050919050565b600060208201905081810360008301526141ad81614171565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026142167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826141d9565b61422086836141d9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061425d61425861425384613573565b614238565b613573565b9050919050565b6000819050919050565b61427783614242565b61428b61428382614264565b8484546141e6565b825550505050565b600090565b6142a0614293565b6142ab81848461426e565b505050565b5b818110156142cf576142c4600082614298565b6001810190506142b1565b5050565b601f821115614314576142e5816141b4565b6142ee846141c9565b810160208510156142fd578190505b614311614309856141c9565b8301826142b0565b50505b505050565b600082821c905092915050565b600061433760001984600802614319565b1980831691505092915050565b60006143508383614326565b9150826002028217905092915050565b6143698261345e565b67ffffffffffffffff81111561438257614381613ddc565b5b61438c8254613c70565b6143978282856142d3565b600060209050601f8311600181146143ca57600084156143b8578287015190505b6143c28582614344565b86555061442a565b601f1984166143d8866141b4565b60005b82811015614400578489015182556001820191506020850194506020810190506143db565b8683101561441d5784890151614419601f891682614326565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600061448e603083613469565b915061449982614432565b604082019050919050565b600060208201905081810360008301526144bd81614481565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006144fa601f83613469565b9150614505826144c4565b602082019050919050565b60006020820190508181036000830152614529816144ed565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600061458c602783613469565b915061459782614530565b604082019050919050565b600060208201905081810360008301526145bb8161457f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600061461e602683613469565b9150614629826145c2565b604082019050919050565b6000602082019050818103600083015261464d81614611565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006146b0602683613469565b91506146bb82614654565b604082019050919050565b600060208201905081810360008301526146df816146a3565b9050919050565b60006146f182613573565b91506146fc83613573565b925082820390508181111561471457614713613ca1565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614776602483613469565b91506147818261471a565b604082019050919050565b600060208201905081810360008301526147a581614769565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614808602283613469565b9150614813826147ac565b604082019050919050565b60006020820190508181036000830152614837816147fb565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614874601d83613469565b915061487f8261483e565b602082019050919050565b600060208201905081810360008301526148a381614867565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614906602583613469565b9150614911826148aa565b604082019050919050565b60006020820190508181036000830152614935816148f9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614998602383613469565b91506149a38261493c565b604082019050919050565b600060208201905081810360008301526149c78161498b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614a2a602683613469565b9150614a35826149ce565b604082019050919050565b60006020820190508181036000830152614a5981614a1d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614a96602083613469565b9150614aa182614a60565b602082019050919050565b60006020820190508181036000830152614ac581614a89565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b6000614b02601683613469565b9150614b0d82614acc565b602082019050919050565b60006020820190508181036000830152614b3181614af5565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b6000614b6e601d83613469565b9150614b7982614b38565b602082019050919050565b60006020820190508181036000830152614b9d81614b61565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000614bcb82516136d3565b80915050919050565b6000614bdf82614ba4565b82614be984614baf565b9050614bf481614bbf565b92506020821015614c3457614c2f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026141d9565b831692505b5050919050565b6000604082019050614c50600083018561361f565b614c5d602083018461361f565b9392505050565b600060a082019050614c7960008301886136dd565b614c8660208301876136dd565b614c9360408301866136dd565b614ca0606083018561361f565b614cad6080830184613761565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614cf182613573565b9150614cfc83613573565b925082614d0c57614d0b614cb7565b5b828204905092915050565b6000608082019050614d2c60008301876136dd565b614d3960208301866136a9565b614d4660408301856136dd565b614d5360608301846136dd565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614dc1601883613469565b9150614dcc82614d8b565b602082019050919050565b60006020820190508181036000830152614df081614db4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614e2d601f83613469565b9150614e3882614df7565b602082019050919050565b60006020820190508181036000830152614e5c81614e20565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614ebf602283613469565b9150614eca82614e63565b604082019050919050565b60006020820190508181036000830152614eee81614eb2565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f51602183613469565b9150614f5c82614ef5565b604082019050919050565b60006020820190508181036000830152614f8081614f44565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614fe3602283613469565b9150614fee82614f87565b604082019050919050565b6000602082019050818103600083015261501281614fd6565b905091905056fea26469706673582212200bf6ae48df910f35343074d16af5c996145edb6c66256057955896c91639eac564736f6c63430008120033