60c06040527360ae616a2155ee3d9a68541ba4544862310933d4600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60006101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055506000600e60026101000a81548160ff0219169083151502179055506001601060006101000a81548160ff021916908315150217905550348015620000d257600080fd5b506040518060400160405280600c81526020017f43415059424152413139393600000000000000000000000000000000000000008152506040518060400160405280600481526020017f434150590000000000000000000000000000000000000000000000000000000081525081600390805190602001906200015792919062000c1d565b5080600490805190602001906200017092919062000c1d565b5050506200019362000187620006dd60201b60201c565b620006e560201b60201c565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050620001cd816001620007ab60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000273919062000d37565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000301919062000d37565b6040518363ffffffff1660e01b81526004016200032092919062000d7a565b6020604051808303816000875af115801562000340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000366919062000d37565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620003ae60a0516001620007ab60201b60201c565b620003c360a05160016200089560201b60201c565b600060059050600080600080600590506000806000806a52b7d2dcc80cd2e400000090506a108b2a2c28029094000000600b819055506a2116545850052128000000600d819055506127106005826200041d919062000de0565b62000429919062000e70565b600c819055508860148190555087601581905550866016819055508560178190555060175460165460155460145462000463919062000ea8565b6200046f919062000ea8565b6200047b919062000ea8565b6013819055508460198190555083601a8190555082601b8190555081601c81905550601c54601b54601a54601954620004b5919062000ea8565b620004c1919062000ea8565b620004cd919062000ea8565b60188190555073c25c43409430b193d2eba2a0f92f4f02e7cb20e4600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c25c43409430b193d2eba2a0f92f4f02e7cb20e4600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c25c43409430b193d2eba2a0f92f4f02e7cb20e4600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c25c43409430b193d2eba2a0f92f4f02e7cb20e4600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006496200063b6200093660201b60201c565b60016200096060201b60201c565b6200065c3060016200096060201b60201c565b6200067161dead60016200096060201b60201c565b62000693620006856200093660201b60201c565b6001620007ab60201b60201c565b620006a6306001620007ab60201b60201c565b620006bb61dead6001620007ab60201b60201c565b620006cd338262000a9a60201b60201c565b50505050505050505050620010c7565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620007bb620006dd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007e16200093660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200083a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008319062000f66565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000970620006dd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620009966200093660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620009ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009e69062000f66565b60405180910390fd5b80602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000a8e919062000fa5565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000b0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b049062001012565b60405180910390fd5b62000b216000838362000c1360201b60201c565b806002600082825462000b35919062000ea8565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000b8c919062000ea8565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000bf3919062001045565b60405180910390a362000c0f6000838362000c1860201b60201c565b5050565b505050565b505050565b82805462000c2b9062001091565b90600052602060002090601f01602090048101928262000c4f576000855562000c9b565b82601f1062000c6a57805160ff191683800117855562000c9b565b8280016001018555821562000c9b579182015b8281111562000c9a57825182559160200191906001019062000c7d565b5b50905062000caa919062000cae565b5090565b5b8082111562000cc957600081600090555060010162000caf565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cff8262000cd2565b9050919050565b62000d118162000cf2565b811462000d1d57600080fd5b50565b60008151905062000d318162000d06565b92915050565b60006020828403121562000d505762000d4f62000ccd565b5b600062000d608482850162000d20565b91505092915050565b62000d748162000cf2565b82525050565b600060408201905062000d91600083018562000d69565b62000da0602083018462000d69565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ded8262000da7565b915062000dfa8362000da7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e365762000e3562000db1565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e7d8262000da7565b915062000e8a8362000da7565b92508262000e9d5762000e9c62000e41565b5b828204905092915050565b600062000eb58262000da7565b915062000ec28362000da7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000efa5762000ef962000db1565b5b828201905092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000f4e60208362000f05565b915062000f5b8262000f16565b602082019050919050565b6000602082019050818103600083015262000f818162000f3f565b9050919050565b60008115159050919050565b62000f9f8162000f88565b82525050565b600060208201905062000fbc600083018462000f94565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ffa601f8362000f05565b9150620010078262000fc2565b602082019050919050565b600060208201905081810360008301526200102d8162000feb565b9050919050565b6200103f8162000da7565b82525050565b60006020820190506200105c600083018462001034565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620010aa57607f821691505b60208210811415620010c157620010c062001062565b5b50919050565b60805160a051615ecb6200112c600039600081816114b001528181611731015281816120b4015261318d01526000818161111c01528181613135015281816143690152818161444a015281816144710152818161450d01526145340152615ecb6000f3fe6080604052600436106103d25760003560e01c80638da5cb5b116101fd578063c876d0b911610118578063e7ad9fcd116100ab578063f2fde38b1161007a578063f2fde38b14610e86578063f637434214610eaf578063f8b45b0514610eda578063fb002c9714610f05578063fd72e22a14610f30576103d9565b8063e7ad9fcd14610ddc578063e884f26014610e05578063ef8700e514610e30578063f11a24d314610e5b576103d9565b8063dd62ed3e116100e7578063dd62ed3e14610cfa578063e1bc339414610d37578063e2f4560514610d74578063e596219514610d9f576103d9565b8063c876d0b914610c3c578063d257b34f14610c67578063d469801614610ca4578063d85ba06314610ccf576103d9565b8063b204141111610190578063c02466681161015f578063c024666814610b94578063c04a541414610bbd578063c3f70b5214610be8578063c79c04fd14610c13576103d9565b8063b204141114610ad8578063b62496f514610b03578063bbc0c74214610b40578063bff7816914610b6b576103d9565b806395d89b41116101cc57806395d89b4114610a0a5780639a7a23d614610a35578063a457c2d714610a5e578063a9059cbb14610a9b576103d9565b80638da5cb5b14610962578063921369131461098d578063924de9b7146109b857806392aa3773146109e1576103d9565b806349bd5a5e116102ed5780636ddd1713116102805780637571336a1161024f5780637571336a146108cc57806375f0a874146108f55780637bce5a04146109205780638a8c523c1461094b576103d9565b80636ddd17131461082257806370a082311461084d578063715018a61461088a578063751039fc146108a1576103d9565b80635a139dd4116102bc5780635a139dd41461077a57806367243482146107a55780636a486a8e146107ce5780636aebf627146107f9576103d9565b806349bd5a5e146106bc5780634a62bb65146106e75780634f77f6c0146107125780634fbee1931461073d576103d9565b80631f3fed8f116103655780632e6ed7ef116103345780632e6ed7ef14610600578063313ce56714610629578063377ad12714610654578063395093511461067f576103d9565b80631f3fed8f1461054457806323b872dd1461056f57806327c8f835146105ac5780632cefac29146105d7576103d9565b806318160ddd116103a157806318160ddd1461049a57806318a94cf1146104c55780631a8145bb146104f05780631c499ab01461051b576103d9565b80630517d13d146103de57806306fdde0314610407578063095ea7b3146104325780631694505e1461046f576103d9565b366103d957005b600080fd5b3480156103ea57600080fd5b506104056004803603810190610400919061464d565b610f5b565b005b34801561041357600080fd5b5061041c61106a565b6040516104299190614713565b60405180910390f35b34801561043e57600080fd5b5061045960048036038101906104549190614793565b6110fc565b60405161046691906147ee565b60405180910390f35b34801561047b57600080fd5b5061048461111a565b6040516104919190614868565b60405180910390f35b3480156104a657600080fd5b506104af61113e565b6040516104bc9190614892565b60405180910390f35b3480156104d157600080fd5b506104da611148565b6040516104e79190614892565b60405180910390f35b3480156104fc57600080fd5b5061050561114e565b6040516105129190614892565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d919061464d565b611154565b005b34801561055057600080fd5b50610559611263565b6040516105669190614892565b60405180910390f35b34801561057b57600080fd5b50610596600480360381019061059191906148ad565b611269565b6040516105a391906147ee565b60405180910390f35b3480156105b857600080fd5b506105c1611361565b6040516105ce919061490f565b60405180910390f35b3480156105e357600080fd5b506105fe60048036038101906105f991906149bb565b611367565b005b34801561060c57600080fd5b5061062760048036038101906106229190614a1b565b611576565b005b34801561063557600080fd5b5061063e611654565b60405161064b9190614a9e565b60405180910390f35b34801561066057600080fd5b5061066961165d565b604051610676919061490f565b60405180910390f35b34801561068b57600080fd5b506106a660048036038101906106a19190614793565b611683565b6040516106b391906147ee565b60405180910390f35b3480156106c857600080fd5b506106d161172f565b6040516106de919061490f565b60405180910390f35b3480156106f357600080fd5b506106fc611753565b60405161070991906147ee565b60405180910390f35b34801561071e57600080fd5b50610727611766565b6040516107349190614892565b60405180910390f35b34801561074957600080fd5b50610764600480360381019061075f9190614ab9565b61176c565b60405161077191906147ee565b60405180910390f35b34801561078657600080fd5b5061078f6117c2565b60405161079c9190614892565b60405180910390f35b3480156107b157600080fd5b506107cc60048036038101906107c79190614ce7565b6117c8565b005b3480156107da57600080fd5b506107e36118fe565b6040516107f09190614892565b60405180910390f35b34801561080557600080fd5b50610820600480360381019061081b9190614ab9565b611904565b005b34801561082e57600080fd5b50610837611a40565b60405161084491906147ee565b60405180910390f35b34801561085957600080fd5b50610874600480360381019061086f9190614ab9565b611a53565b6040516108819190614892565b60405180910390f35b34801561089657600080fd5b5061089f611a9b565b005b3480156108ad57600080fd5b506108b6611b23565b6040516108c391906147ee565b60405180910390f35b3480156108d857600080fd5b506108f360048036038101906108ee9190614d5f565b611bc3565b005b34801561090157600080fd5b5061090a611c9a565b604051610917919061490f565b60405180910390f35b34801561092c57600080fd5b50610935611cc0565b6040516109429190614892565b60405180910390f35b34801561095757600080fd5b50610960611cc6565b005b34801561096e57600080fd5b50610977611d9f565b604051610984919061490f565b60405180910390f35b34801561099957600080fd5b506109a2611dc9565b6040516109af9190614892565b60405180910390f35b3480156109c457600080fd5b506109df60048036038101906109da9190614d9f565b611dcf565b005b3480156109ed57600080fd5b50610a086004803603810190610a039190614ab9565b611e68565b005b348015610a1657600080fd5b50610a1f611fa4565b604051610a2c9190614713565b60405180910390f35b348015610a4157600080fd5b50610a5c6004803603810190610a579190614d5f565b612036565b005b348015610a6a57600080fd5b50610a856004803603810190610a809190614793565b61214f565b604051610a9291906147ee565b60405180910390f35b348015610aa757600080fd5b50610ac26004803603810190610abd9190614793565b61223a565b604051610acf91906147ee565b60405180910390f35b348015610ae457600080fd5b50610aed612258565b604051610afa9190614892565b60405180910390f35b348015610b0f57600080fd5b50610b2a6004803603810190610b259190614ab9565b61225e565b604051610b3791906147ee565b60405180910390f35b348015610b4c57600080fd5b50610b5561227e565b604051610b6291906147ee565b60405180910390f35b348015610b7757600080fd5b50610b926004803603810190610b8d9190614ab9565b612291565b005b348015610ba057600080fd5b50610bbb6004803603810190610bb69190614d5f565b6123cd565b005b348015610bc957600080fd5b50610bd26124f2565b604051610bdf919061490f565b60405180910390f35b348015610bf457600080fd5b50610bfd612518565b604051610c0a9190614892565b60405180910390f35b348015610c1f57600080fd5b50610c3a6004803603810190610c359190614ab9565b61251e565b005b348015610c4857600080fd5b50610c5161265a565b604051610c5e91906147ee565b60405180910390f35b348015610c7357600080fd5b50610c8e6004803603810190610c89919061464d565b61266d565b604051610c9b91906147ee565b60405180910390f35b348015610cb057600080fd5b50610cb96127c2565b604051610cc6919061490f565b60405180910390f35b348015610cdb57600080fd5b50610ce46127e8565b604051610cf19190614892565b60405180910390f35b348015610d0657600080fd5b50610d216004803603810190610d1c9190614dcc565b6127ee565b604051610d2e9190614892565b60405180910390f35b348015610d4357600080fd5b50610d5e6004803603810190610d599190614ab9565b612875565b604051610d6b91906147ee565b60405180910390f35b348015610d8057600080fd5b50610d89612895565b604051610d969190614892565b60405180910390f35b348015610dab57600080fd5b50610dc66004803603810190610dc19190614ab9565b61289b565b604051610dd391906147ee565b60405180910390f35b348015610de857600080fd5b50610e036004803603810190610dfe9190614a1b565b6128bb565b005b348015610e1157600080fd5b50610e1a612999565b604051610e2791906147ee565b60405180910390f35b348015610e3c57600080fd5b50610e45612a39565b604051610e529190614892565b60405180910390f35b348015610e6757600080fd5b50610e70612a3f565b604051610e7d9190614892565b60405180910390f35b348015610e9257600080fd5b50610ead6004803603810190610ea89190614ab9565b612a45565b005b348015610ebb57600080fd5b50610ec4612b3d565b604051610ed19190614892565b60405180910390f35b348015610ee657600080fd5b50610eef612b43565b604051610efc9190614892565b60405180910390f35b348015610f1157600080fd5b50610f1a612b49565b604051610f279190614892565b60405180910390f35b348015610f3c57600080fd5b50610f45612b4f565b604051610f52919061490f565b60405180910390f35b610f63612b75565b73ffffffffffffffffffffffffffffffffffffffff16610f81611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90614e58565b60405180910390fd5b670de0b6b3a76400006103e86001610fed61113e565b610ff79190614ea7565b6110019190614f30565b61100b9190614f30565b81101561104d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104490614fd3565b60405180910390fd5b670de0b6b3a7640000816110619190614ea7565b600b8190555050565b60606003805461107990615022565b80601f01602080910402602001604051908101604052809291908181526020018280546110a590615022565b80156110f25780601f106110c7576101008083540402835291602001916110f2565b820191906000526020600020905b8154815290600101906020018083116110d557829003601f168201915b5050505050905090565b6000611110611109612b75565b8484612b7d565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b601b5481565b601e5481565b61115c612b75565b73ffffffffffffffffffffffffffffffffffffffff1661117a611d9f565b73ffffffffffffffffffffffffffffffffffffffff16146111d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c790614e58565b60405180910390fd5b670de0b6b3a76400006103e860056111e661113e565b6111f09190614ea7565b6111fa9190614f30565b6112049190614f30565b811015611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123d906150c6565b60405180910390fd5b670de0b6b3a76400008161125a9190614ea7565b600d8190555050565b601d5481565b6000611276848484612d48565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006112c1612b75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133890615158565b60405180910390fd5b6113558561134d612b75565b858403612b7d565b60019150509392505050565b61dead81565b61136f612b75565b73ffffffffffffffffffffffffffffffffffffffff1661138d611d9f565b73ffffffffffffffffffffffffffffffffffffffff16146113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da90614e58565b60405180910390fd5b60005b8383905081101561157057600084848381811061140657611405615178565b5b905060200201602081019061141b9190614ab9565b90503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156114a75750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156114ff57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1561155c5782601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b508080611568906151a7565b9150506113e6565b50505050565b61157e612b75565b73ffffffffffffffffffffffffffffffffffffffff1661159c611d9f565b73ffffffffffffffffffffffffffffffffffffffff16146115f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e990614e58565b60405180910390fd5b8360148190555082601581905550816016819055508060178190555060175460165460155460145461162491906151f0565b61162e91906151f0565b61163891906151f0565b6013819055506063601354111561164e57600080fd5b50505050565b60006012905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611725611690612b75565b84846001600061169e612b75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461172091906151f0565b612b7d565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600e60009054906101000a900460ff1681565b601c5481565b6000602160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60175481565b6117d0612b75565b73ffffffffffffffffffffffffffffffffffffffff166117ee611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183b90614e58565b60405180910390fd5b8051825114611888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187f90615292565b60405180910390fd5b60005b82518110156118f95760008382815181106118a9576118a8615178565b5b6020026020010151905060008383815181106118c8576118c7615178565b5b602002602001015190506118e46118dd612b75565b8383612d48565b505080806118f1906151a7565b91505061188b565b505050565b60185481565b61190c612b75565b73ffffffffffffffffffffffffffffffffffffffff1661192a611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197790614e58565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fe1bb4a3e2b2b99353f84d73df9e136cfe17627ed07083a649101dfa6bde8459c60405160405180910390a380600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611aa3612b75565b73ffffffffffffffffffffffffffffffffffffffff16611ac1611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90614e58565b60405180910390fd5b611b216000613ad5565b565b6000611b2d612b75565b73ffffffffffffffffffffffffffffffffffffffff16611b4b611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9890614e58565b60405180910390fd5b6000600e60006101000a81548160ff0219169083151502179055506001905090565b611bcb612b75565b73ffffffffffffffffffffffffffffffffffffffff16611be9611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3690614e58565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b611cce612b75565b73ffffffffffffffffffffffffffffffffffffffff16611cec611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3990614e58565b60405180910390fd5b600e60019054906101000a900460ff1615600e60016101000a81548160ff02191690831515021790555043601181905550600e60029054906101000a900460ff1615600e60026101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b611dd7612b75565b73ffffffffffffffffffffffffffffffffffffffff16611df5611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4290614e58565b60405180910390fd5b80600e60026101000a81548160ff02191690831515021790555050565b611e70612b75565b73ffffffffffffffffffffffffffffffffffffffff16611e8e611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614611ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edb90614e58565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f3e0ea4f8339b6050ff814971a9814aa39176c149fcf185975c219f33db2342db60405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060048054611fb390615022565b80601f0160208091040260200160405190810160405280929190818152602001828054611fdf90615022565b801561202c5780601f106120015761010080835404028352916020019161202c565b820191906000526020600020905b81548152906001019060200180831161200f57829003601f168201915b5050505050905090565b61203e612b75565b73ffffffffffffffffffffffffffffffffffffffff1661205c611d9f565b73ffffffffffffffffffffffffffffffffffffffff16146120b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a990614e58565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213890615324565b60405180910390fd5b61214b8282613b9b565b5050565b6000806001600061215e612b75565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561221b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612212906153b6565b60405180910390fd5b61222f612226612b75565b85858403612b7d565b600191505092915050565b600061224e612247612b75565b8484612d48565b6001905092915050565b60165481565b60236020528060005260406000206000915054906101000a900460ff1681565b600e60019054906101000a900460ff1681565b612299612b75565b73ffffffffffffffffffffffffffffffffffffffff166122b7611d9f565b73ffffffffffffffffffffffffffffffffffffffff161461230d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230490614e58565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6123d5612b75565b73ffffffffffffffffffffffffffffffffffffffff166123f3611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614612449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244090614e58565b60405180910390fd5b80602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516124e691906147ee565b60405180910390a25050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b612526612b75565b73ffffffffffffffffffffffffffffffffffffffff16612544611d9f565b73ffffffffffffffffffffffffffffffffffffffff161461259a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259190614e58565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167ffaf1b77ed79f6e898c44dd8ab36b330c7b2fd39bcaab05ed6362480df870396560405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601060009054906101000a900460ff1681565b6000612677612b75565b73ffffffffffffffffffffffffffffffffffffffff16612695611d9f565b73ffffffffffffffffffffffffffffffffffffffff16146126eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e290614e58565b60405180910390fd5b620186a060016126f961113e565b6127039190614ea7565b61270d9190614f30565b82101561274f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274690615448565b60405180910390fd5b6103e8600561275c61113e565b6127669190614ea7565b6127709190614f30565b8211156127b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a9906154da565b60405180910390fd5b81600c8190555060019050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60226020528060005260406000206000915054906101000a900460ff1681565b600c5481565b60126020528060005260406000206000915054906101000a900460ff1681565b6128c3612b75565b73ffffffffffffffffffffffffffffffffffffffff166128e1611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614612937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292e90614e58565b60405180910390fd5b8360198190555082601a8190555081601b8190555080601c81905550601c54601b54601a5460195461296991906151f0565b61297391906151f0565b61297d91906151f0565b6018819055506063601854111561299357600080fd5b50505050565b60006129a3612b75565b73ffffffffffffffffffffffffffffffffffffffff166129c1611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614612a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0e90614e58565b60405180910390fd5b6000601060006101000a81548160ff0219169083151502179055506001905090565b601f5481565b60155481565b612a4d612b75565b73ffffffffffffffffffffffffffffffffffffffff16612a6b611d9f565b73ffffffffffffffffffffffffffffffffffffffff1614612ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab890614e58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b289061556c565b60405180910390fd5b612b3a81613ad5565b50565b601a5481565b600d5481565b60205481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be4906155fe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5490615690565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612d3b9190614892565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612daf90615722565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1f906157b4565b60405180910390fd5b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eac90615820565b60405180910390fd5b6000811415612ecf57612eca83836000613c3c565b613ad0565b600e60009054906101000a900460ff161561359257612eec611d9f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612f5a5750612f2a611d9f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612f935750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612fcd575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612fe65750600660149054906101000a900460ff16155b1561359157600e60019054906101000a900460ff166130e057602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806130a05750602160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6130df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d69061588c565b60405180910390fd5b5b601060009054906101000a900460ff16156132a8576130fd611d9f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561318457507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156131dc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156132a75743600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410613262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325990615944565b60405180910390fd5b43600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561334b5750602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156133f257600b54811115613395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338c906159d6565b60405180910390fd5b600d546133a183611a53565b826133ac91906151f0565b11156133ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133e490615a42565b60405180910390fd5b613590565b602360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156134955750602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156134e457600b548111156134df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134d690615ad4565b60405180910390fd5b61358f565b602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661358e57600d5461354183611a53565b8261354c91906151f0565b111561358d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161358490615a42565b60405180910390fd5b5b5b5b5b5b600061359d30611a53565b90506000600c5482101590508080156135c25750600e60029054906101000a900460ff165b80156135db5750600660149054906101000a900460ff16155b80156136315750602360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156136875750602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156136dd5750602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613721576001600660146101000a81548160ff021916908315150217905550613705613ebd565b6000600660146101000a81548160ff0219169083151502179055505b6000600660149054906101000a900460ff16159050602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806137d75750602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156137e157600090505b60008115613ac057602360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561384457506000601854115b156139445761387160646138636018548861427e90919063ffffffff16565b61429490919063ffffffff16565b9050601854601a54826138849190614ea7565b61388e9190614f30565b601e600082825461389f91906151f0565b92505081905550601854601b54826138b79190614ea7565b6138c19190614f30565b601f60008282546138d291906151f0565b92505081905550601854601954826138ea9190614ea7565b6138f49190614f30565b601d600082825461390591906151f0565b92505081905550601854601c548261391d9190614ea7565b6139279190614f30565b6020600082825461393891906151f0565b92505081905550613a9c565b602360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561399f57506000601354115b15613a9b576139cc60646139be6013548861427e90919063ffffffff16565b61429490919063ffffffff16565b9050601354601554826139df9190614ea7565b6139e99190614f30565b601e60008282546139fa91906151f0565b9250508190555060135460165482613a129190614ea7565b613a1c9190614f30565b601f6000828254613a2d91906151f0565b9250508190555060135460145482613a459190614ea7565b613a4f9190614f30565b601d6000828254613a6091906151f0565b9250508190555060135460175482613a789190614ea7565b613a829190614f30565b60206000828254613a9391906151f0565b925050819055505b5b6000811115613ab157613ab0873083613c3c565b5b8085613abd9190615af4565b94505b613acb878787613c3c565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ca390615722565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613d1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d13906157b4565b60405180910390fd5b613d278383836142aa565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613da490615b9a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613e4091906151f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613ea49190614892565b60405180910390a3613eb78484846142af565b50505050565b6000613ec830611a53565b90506000602054601f54601d54601e54613ee291906151f0565b613eec91906151f0565b613ef691906151f0565b9050600080831480613f085750600082145b15613f155750505061427c565b6014600c54613f249190614ea7565b831115613f3d576014600c54613f3a9190614ea7565b92505b6000600283601e5486613f509190614ea7565b613f5a9190614f30565b613f649190614f30565b90506000613f7b82866142b490919063ffffffff16565b90506000479050613f8b826142ca565b6000613fa082476142b490919063ffffffff16565b90506000613fcb87613fbd601d548561427e90919063ffffffff16565b61429490919063ffffffff16565b90506000613ff688613fe8601f548661427e90919063ffffffff16565b61429490919063ffffffff16565b90506000614021896140136020548761427e90919063ffffffff16565b61429490919063ffffffff16565b90506000818385876140339190615af4565b61403d9190615af4565b6140479190615af4565b90506000601e819055506000601d819055506000601f819055506000602081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516140af90615beb565b60006040518083038185875af1925050503d80600081146140ec576040519150601f19603f3d011682016040523d82523d6000602084013e6140f1565b606091505b5050809950506000881180156141075750600081115b15614154576141168882614507565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618782601e5460405161414b93929190615c00565b60405180910390a15b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161419a90615beb565b60006040518083038185875af1925050503d80600081146141d7576040519150601f19603f3d011682016040523d82523d6000602084013e6141dc565b606091505b505080995050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161422890615beb565b60006040518083038185875af1925050503d8060008114614265576040519150601f19603f3d011682016040523d82523d6000602084013e61426a565b606091505b50508099505050505050505050505050505b565b6000818361428c9190614ea7565b905092915050565b600081836142a29190614f30565b905092915050565b505050565b505050565b600081836142c29190615af4565b905092915050565b6000600267ffffffffffffffff8111156142e7576142e6614ae6565b5b6040519080825280602002602001820160405280156143155781602001602082028036833780820191505090505b509050308160008151811061432d5761432c615178565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156143d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143f69190615c4c565b8160018151811061440a57614409615178565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061446f307f000000000000000000000000000000000000000000000000000000000000000084612b7d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663762b15628360008430426040518663ffffffff1660e01b81526004016144d1959493929190615d72565b600060405180830381600087803b1580156144eb57600080fd5b505af11580156144ff573d6000803e3d6000fd5b505050505050565b614532307f000000000000000000000000000000000000000000000000000000000000000084612b7d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f91b3f72823085600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016145b996959493929190615dcc565b60606040518083038185885af11580156145d7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906145fc9190615e42565b5050505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61462a81614617565b811461463557600080fd5b50565b60008135905061464781614621565b92915050565b6000602082840312156146635761466261460d565b5b600061467184828501614638565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156146b4578082015181840152602081019050614699565b838111156146c3576000848401525b50505050565b6000601f19601f8301169050919050565b60006146e58261467a565b6146ef8185614685565b93506146ff818560208601614696565b614708816146c9565b840191505092915050565b6000602082019050818103600083015261472d81846146da565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061476082614735565b9050919050565b61477081614755565b811461477b57600080fd5b50565b60008135905061478d81614767565b92915050565b600080604083850312156147aa576147a961460d565b5b60006147b88582860161477e565b92505060206147c985828601614638565b9150509250929050565b60008115159050919050565b6147e8816147d3565b82525050565b600060208201905061480360008301846147df565b92915050565b6000819050919050565b600061482e61482961482484614735565b614809565b614735565b9050919050565b600061484082614813565b9050919050565b600061485282614835565b9050919050565b61486281614847565b82525050565b600060208201905061487d6000830184614859565b92915050565b61488c81614617565b82525050565b60006020820190506148a76000830184614883565b92915050565b6000806000606084860312156148c6576148c561460d565b5b60006148d48682870161477e565b93505060206148e58682870161477e565b92505060406148f686828701614638565b9150509250925092565b61490981614755565b82525050565b60006020820190506149246000830184614900565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261494f5761494e61492a565b5b8235905067ffffffffffffffff81111561496c5761496b61492f565b5b60208301915083602082028301111561498857614987614934565b5b9250929050565b614998816147d3565b81146149a357600080fd5b50565b6000813590506149b58161498f565b92915050565b6000806000604084860312156149d4576149d361460d565b5b600084013567ffffffffffffffff8111156149f2576149f1614612565b5b6149fe86828701614939565b93509350506020614a11868287016149a6565b9150509250925092565b60008060008060808587031215614a3557614a3461460d565b5b6000614a4387828801614638565b9450506020614a5487828801614638565b9350506040614a6587828801614638565b9250506060614a7687828801614638565b91505092959194509250565b600060ff82169050919050565b614a9881614a82565b82525050565b6000602082019050614ab36000830184614a8f565b92915050565b600060208284031215614acf57614ace61460d565b5b6000614add8482850161477e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614b1e826146c9565b810181811067ffffffffffffffff82111715614b3d57614b3c614ae6565b5b80604052505050565b6000614b50614603565b9050614b5c8282614b15565b919050565b600067ffffffffffffffff821115614b7c57614b7b614ae6565b5b602082029050602081019050919050565b6000614ba0614b9b84614b61565b614b46565b90508083825260208201905060208402830185811115614bc357614bc2614934565b5b835b81811015614bec5780614bd8888261477e565b845260208401935050602081019050614bc5565b5050509392505050565b600082601f830112614c0b57614c0a61492a565b5b8135614c1b848260208601614b8d565b91505092915050565b600067ffffffffffffffff821115614c3f57614c3e614ae6565b5b602082029050602081019050919050565b6000614c63614c5e84614c24565b614b46565b90508083825260208201905060208402830185811115614c8657614c85614934565b5b835b81811015614caf5780614c9b8882614638565b845260208401935050602081019050614c88565b5050509392505050565b600082601f830112614cce57614ccd61492a565b5b8135614cde848260208601614c50565b91505092915050565b60008060408385031215614cfe57614cfd61460d565b5b600083013567ffffffffffffffff811115614d1c57614d1b614612565b5b614d2885828601614bf6565b925050602083013567ffffffffffffffff811115614d4957614d48614612565b5b614d5585828601614cb9565b9150509250929050565b60008060408385031215614d7657614d7561460d565b5b6000614d848582860161477e565b9250506020614d95858286016149a6565b9150509250929050565b600060208284031215614db557614db461460d565b5b6000614dc3848285016149a6565b91505092915050565b60008060408385031215614de357614de261460d565b5b6000614df18582860161477e565b9250506020614e028582860161477e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614e42602083614685565b9150614e4d82614e0c565b602082019050919050565b60006020820190508181036000830152614e7181614e35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614eb282614617565b9150614ebd83614617565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614ef657614ef5614e78565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614f3b82614617565b9150614f4683614617565b925082614f5657614f55614f01565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e206c6f7765722060008201527f7468616e20302e31250000000000000000000000000000000000000000000000602082015250565b6000614fbd602983614685565b9150614fc882614f61565b604082019050919050565b60006020820190508181036000830152614fec81614fb0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061503a57607f821691505b6020821081141561504e5761504d614ff3565b5b50919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b60006150b0602483614685565b91506150bb82615054565b604082019050919050565b600060208201905081810360008301526150df816150a3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000615142602883614685565b915061514d826150e6565b604082019050919050565b6000602082019050818103600083015261517181615135565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006151b282614617565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156151e5576151e4614e78565b5b600182019050919050565b60006151fb82614617565b915061520683614617565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561523b5761523a614e78565b5b828201905092915050565b7f617272617973206d757374206265207468652073616d65206c656e6774680000600082015250565b600061527c601e83614685565b915061528782615246565b602082019050919050565b600060208201905081810360008301526152ab8161526f565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b600061530e603983614685565b9150615319826152b2565b604082019050919050565b6000602082019050818103600083015261533d81615301565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006153a0602583614685565b91506153ab82615344565b604082019050919050565b600060208201905081810360008301526153cf81615393565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000615432603583614685565b915061543d826153d6565b604082019050919050565b6000602082019050818103600083015261546181615425565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b60006154c4603483614685565b91506154cf82615468565b604082019050919050565b600060208201905081810360008301526154f3816154b7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615556602683614685565b9150615561826154fa565b604082019050919050565b6000602082019050818103600083015261558581615549565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006155e8602483614685565b91506155f38261558c565b604082019050919050565b60006020820190508181036000830152615617816155db565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061567a602283614685565b91506156858261561e565b604082019050919050565b600060208201905081810360008301526156a98161566d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061570c602583614685565b9150615717826156b0565b604082019050919050565b6000602082019050818103600083015261573b816156ff565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061579e602383614685565b91506157a982615742565b604082019050919050565b600060208201905081810360008301526157cd81615791565b9050919050565b7f536e6970657220626c6f636b6564000000000000000000000000000000000000600082015250565b600061580a600e83614685565b9150615815826157d4565b602082019050919050565b60006020820190508181036000830152615839816157fd565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000615876601683614685565b915061588182615840565b602082019050919050565b600060208201905081810360008301526158a581615869565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b600061592e604983614685565b9150615939826158ac565b606082019050919050565b6000602082019050818103600083015261595d81615921565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e2e0000000000000000000000000000000000602082015250565b60006159c0602f83614685565b91506159cb82615964565b604082019050919050565b600060208201905081810360008301526159ef816159b3565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000615a2c601383614685565b9150615a37826159f6565b602082019050919050565b60006020820190508181036000830152615a5b81615a1f565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e2e00000000000000000000000000000000602082015250565b6000615abe603083614685565b9150615ac982615a62565b604082019050919050565b60006020820190508181036000830152615aed81615ab1565b9050919050565b6000615aff82614617565b9150615b0a83614617565b925082821015615b1d57615b1c614e78565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000615b84602683614685565b9150615b8f82615b28565b604082019050919050565b60006020820190508181036000830152615bb381615b77565b9050919050565b600081905092915050565b50565b6000615bd5600083615bba565b9150615be082615bc5565b600082019050919050565b6000615bf682615bc8565b9150819050919050565b6000606082019050615c156000830186614883565b615c226020830185614883565b615c2f6040830184614883565b949350505050565b600081519050615c4681614767565b92915050565b600060208284031215615c6257615c6161460d565b5b6000615c7084828501615c37565b91505092915050565b6000819050919050565b6000615c9e615c99615c9484615c79565b614809565b614617565b9050919050565b615cae81615c83565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b615ce981614755565b82525050565b6000615cfb8383615ce0565b60208301905092915050565b6000602082019050919050565b6000615d1f82615cb4565b615d298185615cbf565b9350615d3483615cd0565b8060005b83811015615d65578151615d4c8882615cef565b9750615d5783615d07565b925050600181019050615d38565b5085935050505092915050565b600060a082019050615d876000830188614883565b615d946020830187615ca5565b8181036040830152615da68186615d14565b9050615db56060830185614900565b615dc26080830184614883565b9695505050505050565b600060c082019050615de16000830189614900565b615dee6020830188614883565b615dfb6040830187615ca5565b615e086060830186615ca5565b615e156080830185614900565b615e2260a0830184614883565b979650505050505050565b600081519050615e3c81614621565b92915050565b600080600060608486031215615e5b57615e5a61460d565b5b6000615e6986828701615e2d565b9350506020615e7a86828701615e2d565b9250506040615e8b86828701615e2d565b915050925092509256fea26469706673582212203d6826c737f5458d9bfb44855ff0bf29395695667c1afc4891771162454c7eba64736f6c634300080a0033