/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, ContractFactory, Signer } from "ethers"; import { Provider } from "ethers/providers"; import { UnsignedTransaction } from "ethers/utils/transaction"; import { TransactionOverrides } from ".."; import { VotingReputation } from "../VotingReputation"; export class VotingReputation__factory extends ContractFactory { constructor(signer?: Signer) { super(_abi, _bytecode, signer); } deploy(overrides?: TransactionOverrides): Promise { return super.deploy(overrides) as Promise; } getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { return super.getDeployTransaction(overrides); } attach(address: string): VotingReputation { return super.attach(address) as VotingReputation; } connect(signer: Signer): VotingReputation__factory { return super.connect(signer) as VotingReputation__factory; } static connect( address: string, signerOrProvider: Signer | Provider ): VotingReputation { return new Contract(address, _abi, signerOrProvider) as VotingReputation; } } const _abi = [ { anonymous: false, inputs: [], name: "ExtensionInitialised", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "authority", type: "address", }, ], name: "LogSetAuthority", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address", }, ], name: "LogSetOwner", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: false, internalType: "address", name: "creator", type: "address", }, { indexed: true, internalType: "uint256", name: "domainId", type: "uint256", }, ], name: "MotionCreated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: false, internalType: "address", name: "escalator", type: "address", }, { indexed: true, internalType: "uint256", name: "domainId", type: "uint256", }, { indexed: true, internalType: "uint256", name: "newDomainId", type: "uint256", }, ], name: "MotionEscalated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: false, internalType: "uint256", name: "eventIndex", type: "uint256", }, ], name: "MotionEventSet", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: false, internalType: "bytes", name: "action", type: "bytes", }, { indexed: false, internalType: "bool", name: "executed", type: "bool", }, ], name: "MotionFinalized", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: true, internalType: "address", name: "staker", type: "address", }, { indexed: true, internalType: "uint256", name: "vote", type: "uint256", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "MotionRewardClaimed", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: true, internalType: "address", name: "staker", type: "address", }, { indexed: true, internalType: "uint256", name: "vote", type: "uint256", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "MotionStaked", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: true, internalType: "address", name: "voter", type: "address", }, { indexed: true, internalType: "uint256", name: "vote", type: "uint256", }, ], name: "MotionVoteRevealed", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "motionId", type: "uint256", }, { indexed: true, internalType: "address", name: "voter", type: "address", }, ], name: "MotionVoteSubmitted", type: "event", }, { inputs: [], name: "authority", outputs: [ { internalType: "contract DSAuthority", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getColony", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getDeprecated", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "contract DSAuthority", name: "authority_", type: "address", }, ], name: "setAuthority", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "owner_", type: "address", }, ], name: "setOwner", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "identifier", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "pure", type: "function", }, { inputs: [], name: "version", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "address", name: "_colony", type: "address", }, ], name: "install", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_totalStakeFraction", type: "uint256", }, { internalType: "uint256", name: "_voterRewardFraction", type: "uint256", }, { internalType: "uint256", name: "_userMinStakeFraction", type: "uint256", }, { internalType: "uint256", name: "_maxVoteFraction", type: "uint256", }, { internalType: "uint256", name: "_stakePeriod", type: "uint256", }, { internalType: "uint256", name: "_submitPeriod", type: "uint256", }, { internalType: "uint256", name: "_revealPeriod", type: "uint256", }, { internalType: "uint256", name: "_escalationPeriod", type: "uint256", }, ], name: "initialise", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "finishUpgrade", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "_deprecated", type: "bool", }, ], name: "deprecate", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "uninstall", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_altTarget", type: "address", }, { internalType: "bytes", name: "_action", type: "bytes", }, { internalType: "bytes", name: "_key", type: "bytes", }, { internalType: "bytes", name: "_value", type: "bytes", }, { internalType: "uint256", name: "_branchMask", type: "uint256", }, { internalType: "bytes32[]", name: "_siblings", type: "bytes32[]", }, ], name: "createRootMotion", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_domainId", type: "uint256", }, { internalType: "uint256", name: "_childSkillIndex", type: "uint256", }, { internalType: "bytes", name: "_action", type: "bytes", }, { internalType: "bytes", name: "_key", type: "bytes", }, { internalType: "bytes", name: "_value", type: "bytes", }, { internalType: "uint256", name: "_branchMask", type: "uint256", }, { internalType: "bytes32[]", name: "_siblings", type: "bytes32[]", }, ], name: "createDomainMotion", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "uint256", name: "_permissionDomainId", type: "uint256", }, { internalType: "uint256", name: "_childSkillIndex", type: "uint256", }, { internalType: "uint256", name: "_vote", type: "uint256", }, { internalType: "uint256", name: "_amount", type: "uint256", }, { internalType: "bytes", name: "_key", type: "bytes", }, { internalType: "bytes", name: "_value", type: "bytes", }, { internalType: "uint256", name: "_branchMask", type: "uint256", }, { internalType: "bytes32[]", name: "_siblings", type: "bytes32[]", }, ], name: "stakeMotion", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "bytes32", name: "_voteSecret", type: "bytes32", }, { internalType: "bytes", name: "_key", type: "bytes", }, { internalType: "bytes", name: "_value", type: "bytes", }, { internalType: "uint256", name: "_branchMask", type: "uint256", }, { internalType: "bytes32[]", name: "_siblings", type: "bytes32[]", }, ], name: "submitVote", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "bytes32", name: "_salt", type: "bytes32", }, { internalType: "uint256", name: "_vote", type: "uint256", }, { internalType: "bytes", name: "_key", type: "bytes", }, { internalType: "bytes", name: "_value", type: "bytes", }, { internalType: "uint256", name: "_branchMask", type: "uint256", }, { internalType: "bytes32[]", name: "_siblings", type: "bytes32[]", }, ], name: "revealVote", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "uint256", name: "_newDomainId", type: "uint256", }, { internalType: "uint256", name: "_childSkillIndex", type: "uint256", }, { internalType: "bytes", name: "_key", type: "bytes", }, { internalType: "bytes", name: "_value", type: "bytes", }, { internalType: "uint256", name: "_branchMask", type: "uint256", }, { internalType: "bytes32[]", name: "_siblings", type: "bytes32[]", }, ], name: "escalateMotion", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, ], name: "finalizeMotion", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "uint256", name: "_permissionDomainId", type: "uint256", }, { internalType: "uint256", name: "_childSkillIndex", type: "uint256", }, { internalType: "address", name: "_staker", type: "address", }, { internalType: "uint256", name: "_vote", type: "uint256", }, ], name: "claimReward", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "getTotalStakeFraction", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getVoterRewardFraction", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getUserMinStakeFraction", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getMaxVoteFraction", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getStakePeriod", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getSubmitPeriod", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getRevealPeriod", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getEscalationPeriod", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getMotionCount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, ], name: "getMotion", outputs: [ { components: [ { internalType: "uint64[3]", name: "events", type: "uint64[3]", }, { internalType: "bytes32", name: "rootHash", type: "bytes32", }, { internalType: "uint256", name: "domainId", type: "uint256", }, { internalType: "uint256", name: "skillId", type: "uint256", }, { internalType: "uint256", name: "skillRep", type: "uint256", }, { internalType: "uint256", name: "repSubmitted", type: "uint256", }, { internalType: "uint256", name: "paidVoterComp", type: "uint256", }, { internalType: "uint256[2]", name: "pastVoterComp", type: "uint256[2]", }, { internalType: "uint256[2]", name: "stakes", type: "uint256[2]", }, { internalType: "uint256[2]", name: "votes", type: "uint256[2]", }, { internalType: "bool", name: "escalated", type: "bool", }, { internalType: "bool", name: "finalized", type: "bool", }, { internalType: "address", name: "altTarget", type: "address", }, { internalType: "bytes", name: "action", type: "bytes", }, ], internalType: "struct VotingReputation.Motion", name: "motion", type: "tuple", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "address", name: "_staker", type: "address", }, { internalType: "uint256", name: "_vote", type: "uint256", }, ], name: "getStake", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "_structHash", type: "bytes32", }, ], name: "getExpenditureMotionCount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "_actionHash", type: "bytes32", }, ], name: "getExpenditurePastVote", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, ], name: "getMotionState", outputs: [ { internalType: "enum VotingReputation.MotionState", name: "", type: "uint8", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "uint256", name: "_voterRep", type: "uint256", }, ], name: "getVoterReward", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "_motionId", type: "uint256", }, { internalType: "address", name: "_staker", type: "address", }, { internalType: "uint256", name: "_vote", type: "uint256", }, ], name: "getStakerReward", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes", name: "action", type: "bytes", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "createClaimDelayAction", outputs: [ { internalType: "bytes", name: "", type: "bytes", }, ], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2614a4b8061005e6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80637b9afba611610130578063bbd2f6c5116100b8578063da2332591161007c578063da23325914610454578063de3b0aa414610467578063deac280f1461047a578063ee2cf4731461048d578063fcf6ba93146104a057610232565b8063bbd2f6c51461040b578063bf7e214f1461041e578063bfd68ab714610426578063c06e47d61461042e578063d84eb9ee1461044157610232565b80639251cff4116100ff5780639251cff4146103aa578063ad15aad2146103bd578063b0048647146103dd578063b57025d4146103e5578063b9a8c27a146103f857610232565b80637b9afba61461035a5780637de22eb41461036d578063835ddcc11461038d5780638da5cb5b1461039557610232565b8063420b900c116101be5780636e7375b0116101825780636e7375b01461031c57806372d8bd7b146103245780637998a1c41461032c5780637a3dc330146103345780637a9e5e4b1461034757610232565b8063420b900c146102b857806354fd4d50146102d85780635c0d9d53146102e05780635d0050b2146102e85780636acd7fe61461030957610232565b80631a7dad2e116102055780631a7dad2e146102855780632363df0e1461028d5780632a1b8f9b146102955780632a1c708b146102a8578063340df28f146102b057610232565b806302d15d64146102375780630d638f301461025557806313af40351461025f578063157eb07214610272575b600080fd5b61023f6104b5565b60405161024c9190613eba565b60405180910390f35b61025d6104bb565b005b61025d61026d3660046138b5565b610504565b61025d610280366004613bdc565b610586565b61023f610788565b61023f61078e565b61025d6102a33660046138b5565b610794565b61023f610993565b61025d610999565b6102cb6102c63660046139e5565b6109cd565b60405161024c9190614066565b61023f610b37565b61023f610b3c565b6102fb6102f6366004613a9e565b610b42565b60405161024c929190613e96565b61025d6103173660046139e5565b610e00565b61023f6112f4565b61023f6112fa565b61023f611300565b61023f6103423660046139e5565b611324565b61025d6103553660046138b5565b611336565b61025d610368366004613d5b565b6113b4565b61038061037b366004613a15565b61162a565b60405161024c9190613fc0565b61023f611780565b61039d611786565b60405161024c9190613ec3565b61025d6103b83660046139ad565b611795565b6103d06103cb3660046139e5565b6117e5565b60405161024c9190614837565b61023f611a30565b61025d6103f3366004613c83565b611a36565b61025d610406366004613b11565b611d83565b61025d610419366004613c9d565b611fb1565b61039d6126af565b61039d6126be565b61025d61043c366004613ad5565b6126cd565b61023f61044f366004613bbb565b612850565b61025d610462366004613c3b565b6128ab565b61023f6104753660046139e5565b612a99565b61025d6104883660046138ed565b612aab565b61023f61049b366004613a9e565b612b49565b6104a8612b7c565b60405161024c9190613fa0565b600d5490565b6104d1336000356001600160e01b031916612b8c565b6104f65760405162461bcd60e51b81526004016104ed90614158565b60405180910390fd5b6003546001600160a01b0316ff5b61051a336000356001600160e01b031916612b8c565b6105365760405162461bcd60e51b81526004016104ed90614158565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6003805481906001600160a01b0316632dfbb0836105a389612c68565b6040518263ffffffff1660e01b81526004016105bf9190613fab565b60206040518083038186803b1580156105d757600080fd5b505afa1580156105eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060f91906139fd565b17141561062e5760405162461bcd60e51b81526004016104ed90614724565b600354604051630d3d4c7160e11b81526000916001600160a01b031690631a7a98e29061065f908b90600401613eba565b604080518083038186803b15801561067657600080fd5b505afa15801561068a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ae9190613a57565b51905060006106bc87612c6f565b905080821461076c57600480546040516304e8852f60e11b81526000926001600160a01b03909216916309d10a5e916106f99187918e9101613e96565b60206040518083038186803b15801561071157600080fd5b505afa158015610725573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074991906139fd565b905081811461076a5760405162461bcd60e51b81526004016104ed906143a2565b505b61077d6000888b858a8a8a8a612da9565b505050505050505050565b600c5490565b60085490565b6003546001600160a01b0316156107bd5760405162461bcd60e51b81526004016104ed9061447e565b600380546001600160a01b0319166001600160a01b03838116919091179182905560408051634e5e839560e01b815290519290911691634e5e839591600480820192602092909190829003018186803b15801561081957600080fd5b505afa15801561082d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085191906138d1565b600480546001600160a01b0319166001600160a01b03928316178082556040805163598cc81560e11b81529051919093169263b319902a9281810192602092909190829003018186803b1580156108a757600080fd5b505afa1580156108bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108df91906138d1565b600580546001600160a01b0319166001600160a01b03928316179055600354604080516321df0da760e01b8152905191909216916321df0da7916004808301926020929190829003018186803b15801561093857600080fd5b505afa15801561094c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097091906138d1565b600680546001600160a01b0319166001600160a01b039290921691909117905550565b60075490565b6109af336000356001600160e01b031916612b8c565b6109cb5760405162461bcd60e51b81526004016104ed90614158565b565b6000818152601060205260408120816109e584612fea565b90508315806109f55750600f5484115b15610a0557600092505050610b32565b600d820154610100900460ff1615610a2257600692505050610b32565b600a820154811180610a375750600982015481115b15610aa45781546001600160401b0316421015610a5957600192505050610b32565b600a820154811415610a7057600592505050610b32565b600b82018054600091610a88919060015b0154613009565b1115610a9957600592505050610b32565b600792505050610b32565b8154600160401b90046001600160401b0316421015610ac857600292505050610b32565b8154600160801b90046001600160401b0316421015610aec57600392505050610b32565b600e548254600160801b90046001600160401b03160142108015610b14575060018260020154115b15610b2457600492505050610b32565b600592505050610b32565b50505b919050565b600190565b60095490565b6000838152601060209081526040808320601183528184206001600160a01b038716855283528184208585529092528220548291908290610ba590610ba0600985018860028110610b8f57fe5b0154856007018960028110610a8157fe5b61302c565b90506000610bc382846009018860028110610bbc57fe5b015461305d565b90506000610bd089612fea565b905060008080610beb600b8801820154600b89016001610a81565b1115610ccc576000610c01848860060154613085565b600b88018054919250600091610c18916001610a81565b90506000610c3689600b018d60028110610c2e57fe5b01548361302c565b90506000610c4c82671bc16d674ec8000061305d565b9050670de0b6b3a7640000811180610c745750670de0b6b3a764000081148015610c7457508c155b15610ca657610c9f89610c9a89610c9588670de0b6b3a7640000870361305d565b613009565b61305d565b9550610cc3565b610cb489610c9a868461305d565b9550610cc08887613085565b94505b50505050610df0565b600686015415610cd857fe5b82866009018a60028110610ce857fe5b0154148015610d0e57508286600901610d008b6130a8565b60028110610d0a57fe5b0154105b15610d6157600086600901610d228b6130a8565b60028110610d2c57fe5b015490506000610d4882600a670de0b6b3a76400005b0461305d565b9050610d5887610c9a8784613009565b93505050610df0565b82866009018a60028110610d7157fe5b0154108015610d9757508286600901610d898b6130a8565b60028110610d9357fe5b0154145b15610dec576000866009018a60028110610dad57fe5b015490506000610dc782600a670de0b6b3a7640000610d42565b9050610dd787610c9a8484613085565b9350610de38685613085565b92505050610df0565b8391505b909a909950975050505050505050565b60008181526010602052604090206005610e19836109cd565b6007811115610e2457fe5b14610e415760405162461bcd60e51b81526004016104ed906146e3565b610e4a82612fea565b600a8201541480610e6d5750600b81018054600091610e6b91906001610a81565b115b610e7357fe5b600d8101805461ff0019166101001790556000600982016001015460098301600001541080610ea95750600c820154600b830154105b600e83018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152939450633268b39f60e21b93610f4e9390929091830182828015610f445780601f10610f1957610100808354040283529160200191610f44565b820191906000526020600020905b815481529060010190602001808311610f2757829003601f168201915b5050505050612c68565b6001600160e01b031916148015610f765750600d8201546201000090046001600160a01b0316155b1561120c57600e8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152600093611016939192909183018282801561100c5780601f10610fe15761010080835404028352916020019161100c565b820191906000526020600020905b815481529060010190602001808311610fef57829003601f168201915b50505050506130b5565b600081815260146020526040902054909150611033906001613085565b60008281526014602052604090208190556110f457600e8301805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181526060936110e593919290918301828280156110d95780601f106110ae576101008083540402835291602001916110d9565b820191906000526020600020905b8154815290600101906020018083116110bc57829003601f168201915b5050505050600061162a565b90506110f18582613153565b50505b600e8301805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815260009361118f93919290918301828280156111855780601f1061115a57610100808354040283529160200191611185565b820191906000526020600020905b81548152906001019060200180831161116857829003601f168201915b50505050506131a7565b90506000806111a9600b8701820154600b88016001610a81565b116111b857600a8501546111be565b600c8501545b6000838152601360205260409020549091508111156111fa5760008281526013602052604090208190558380156111f3575060015b9350611208565b838015611205575060005b93505b5050505b600081156112b157600e8301805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181526112ae938893919290918301828280156112a45780601f10611279576101008083540402835291602001916112a4565b820191906000526020600020905b81548152906001019060200180831161128757829003601f168201915b5050505050613153565b90505b837f30a64da5658ebdc08619e03d1f155ef960c07fa9b332002f9ad606ec64b6096484600e01836040516112e6929190613fd3565b60405180910390a250505050565b600a5490565b600e5490565b7fdc951b3d4193c331186bc2de3b4e659e51d8b00ef92751ae69abaa48a6ab38dd90565b60009081526013602052604090205490565b61134c336000356001600160e01b031916612b8c565b6113685760405162461bcd60e51b81526004016104ed90614158565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600354604051635597bd7160e11b81526001600160a01b039091169063ab2f7ae2906113e99033906001908190600401613ed7565b60206040518083038186803b15801561140157600080fd5b505afa158015611415573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143991906139c9565b6114555760405162461bcd60e51b81526004016104ed906143d9565b6000600354600160a81b900460ff16600281111561146f57fe5b1461148c5760405162461bcd60e51b81526004016104ed906141f5565b6706f05b59d3b200008811156114b45760405162461bcd60e51b81526004016104ed906142d1565b6706f05b59d3b200008711156114dc5760405162461bcd60e51b81526004016104ed906142d1565b670de0b6b3a76400008611156115045760405162461bcd60e51b81526004016104ed9061475b565b670de0b6b3a764000085111561152c5760405162461bcd60e51b81526004016104ed9061475b565b6301e133808411156115505760405162461bcd60e51b81526004016104ed906147c9565b6301e133808311156115745760405162461bcd60e51b81526004016104ed906147c9565b6301e133808211156115985760405162461bcd60e51b81526004016104ed906147c9565b6301e133808111156115bc5760405162461bcd60e51b81526004016104ed906147c9565b6003805460ff60a81b1916600160a81b179055600788905560088790556009869055600a859055600b849055600c839055600d829055600e8190556040517f690c4b6201f6a4c703f9d21c205d98a08dff8461e7a71e49c6d47cc8b894850190600090a15050505050505050565b602082015160248301516044840151606485015160848601516060949392919060198114156116d457604080516101648082526101a08201909252606091602082018180368337505050602081019690965250506024840192909252604483015260648201526019608482015260e060a482015261012060c482015260e481018390526001610104820181905261012482018190526101448201526004610164820152905061177a565b604080516101a48082526101e0820190925260609160208201818036833701905050905060006101848a01519050866020830152856024830152846044830152836064830152601a608483015260e060a483015261014060c48301528860e483015260026101048301526000610124830152600161014483015260026101648301528061018483015260016101a48301528197505050505050505061177a565b50505050505b92915050565b600f5490565b6001546001600160a01b031681565b6117ab336000356001600160e01b031916612b8c565b6117c75760405162461bcd60e51b81526004016104ed90614158565b60038054911515600160a01b0260ff60a01b19909216919091179055565b6117ed613633565b6000828152601060205260409081902081516102208101909252816101c081018260038282826020028201916000905b82829054906101000a90046001600160401b03166001600160401b03168152602001906008019060208260070104928301926001038202915080841161181d57905050505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782016002806020026040519081016040528092919082600280156118e0576020028201915b8154815260200190600101908083116118cc575b5050509183525050604080518082019182905260209092019190600984019060029082845b815481526020019060010190808311611905575050509183525050604080518082019182905260209092019190600b84019060029082845b81548152602001906001019080831161193d575050509183525050600d82015460ff80821615156020808501919091526101008084049092161515604080860191909152620100009093046001600160a01b03166060850152600e850180548451600260018316159095026000190190911693909304601f8101839004830284018301909452838352608090940193919290830182828015611a205780601f106119f557610100808354040283529160200191611a20565b820191906000526020600020905b815481529060010190602001808311611a0357829003601f168201915b5050505050815250509050919050565b600b5490565b60008781526010602052604090206004611a4f896109cd565b6007811115611a5a57fe5b14611a775760405162461bcd60e51b81526004016104ed9061451b565b600354604051630d3d4c7160e11b81526000916001600160a01b031690631a7a98e290611aa8908b90600401613eba565b604080518083038186803b158015611abf57600080fd5b505afa158015611ad3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af79190613a57565b51600480546040516304e8852f60e11b81529293506000926001600160a01b03909116916309d10a5e91611b2f9186918d9101613e96565b60206040518083038186803b158015611b4757600080fd5b505afa158015611b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7f91906139fd565b905082600301548114611ba45760405162461bcd60e51b81526004016104ed90614447565b600283018054908a905560038401839055611bc48b60008a8a8a8a6131bd565b6004850155600c840154600b85015460009111611be2576001611be5565b60005b9050611c05856009018260028110611bf957fe5b01548660060154613085565b856009018260028110611c1457fe5b0155611c34600786018260028110611c2857fe5b01548660060154613009565b856007018260028110611c4357fe5b0155600060068601819055611c578d612fea565b90508060098701600001541080611c715750600a86015481115b611c7b5742611c81565b600b5442015b865467ffffffffffffffff19166001600160401b0391821617808855600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808955600d805467ffffffffffffffff60801b198316600160801b94909304851601909316919091021787558601805460ff191660011790556040518c9084908f907fd11ec0a82b67846e80d77c897fa0e54e2d81a0275e18cb2d40b9f534d9b738ad90611d2e903390613ec3565b60405180910390a48554426001600160401b0390811691161415611d74578c6000805160206149f68339815191526000604051611d6b9190613eba565b60405180910390a25b50505050505050505050505050565b60008781526010602052604090206003611d9c896109cd565b6007811115611da757fe5b14611dc45760405162461bcd60e51b81526004016104ed90614552565b6001861115611de55760405162461bcd60e51b81526004016104ed906145ce565b6000611df58933888888886131bd565b9050611e1182600b018860028110611e0957fe5b015482613009565b82600b018860028110611e2057fe5b01556000898152601260209081526040808320338452909152902054611e4689896132b1565b8114611e645760405162461bcd60e51b81526004016104ed9061422c565b60008a81526012602090815260408083203384529091528120819055611e8a8b84612850565b9050611e9a846006015482613009565b6006850155604051899033908d907f90285c90067ec863f95f2423d6cc031a545257d9b53dfb1974a65b46bd4a55bd90600090a46005840154600b85018054611ee4916001610a81565b1415611f3757835467ffffffffffffffff60801b1916600160801b426001600160401b0316021784556040518b906000805160206149f683398151915290611f2e90600290613eba565b60405180910390a25b6005546006546040516393c4553560e01b81526001600160a01b03928316926393c4553592611f729291169085903390600190600401613f76565b600060405180830381600087803b158015611f8c57600080fd5b505af1158015611fa0573d6000803e3d6000fd5b505050505050505050505050505050565b60008981526010602052604090206001871115611fe05760405162461bcd60e51b81526004016104ed906145ce565b6001611feb8b6109cd565b6007811115611ff657fe5b146120135760405162461bcd60e51b81526004016104ed90614263565b600061201e8b612fea565b905060006120458861204084866009018d6002811061203957fe5b0154613085565b6132e4565b9050600081116120675760405162461bcd60e51b81526004016104ed906145fb565b60008c815260116020908152604080832033845282528083208c84529091528120546120939083613009565b90506120a38d338a8a8a8a6131bd565b8111156120c25760405162461bcd60e51b81526004016104ed90614306565b6120ce8360095461305d565b811015806120f45750826120f2856009018c600281106120ea57fe5b015484613009565b145b6121105760405162461bcd60e51b81526004016104ed90614121565b6005546006546040516307dba22560e31b81526001600160a01b0392831692633edd11289261214a92911690600090600190600401613f53565b600060405180830381600087803b15801561216457600080fd5b505af1158015612178573d6000803e3d6000fd5b5050600354600287015460405163096abb4960e01b81526001600160a01b03909216935063096abb4992506121b4913391908790600401613f05565b600060405180830381600087803b1580156121ce57600080fd5b505af11580156121e2573d6000803e3d6000fd5b50505050600360009054906101000a90046001600160a01b03166001600160a01b031663446c1aa28d8d3033896002015488306040518863ffffffff1660e01b81526004016122379796959493929190614931565b600060405180830381600087803b15801561225157600080fd5b505af1158015612265573d6000803e3d6000fd5b50505050612283846009018b6002811061227b57fe5b015483613009565b846009018b6002811061229257fe5b015560008d815260116020908152604080832033845282528083208d8452909152902081905560018a1480156122cd5750600d84015460ff16155b80156122dc5750600a84015483145b801561235b5750600e8401805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152633268b39f60e21b9361234f9391929091830182828015610f445780601f10610f1957610100808354040283529160200191610f44565b6001600160e01b031916145b80156123785750600d8401546201000090046001600160a01b0316155b156124e557600e8401805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181526000936123e3939192909183018282801561100c5780601f10610fe15761010080835404028352916020019161100c565b600081815260146020526040902054909150612400906001613009565b60008281526014602090815260409182902092909255600e870180548251601f600260001961010060018616150201909316929092049182018590048502810185019093528083526060936124ba939291908301828280156124a35780601f10612478576101008083540402835291602001916124a3565b820191906000526020600020905b81548152906001019060200180831161248657829003601f168201915b50505050506003600019816124b457fe5b0461162a565b90506124c68f82613153565b6124e25760405162461bcd60e51b81526004016104ed90614079565b50505b89336001600160a01b03168e7f36de51a8af0dcecf368691aa77f69ba4d4e7974e9c709f33aeaad0e7ac5af1b8856040516125209190613eba565b60405180910390a460098401548314801561253e5750600a84015483145b156125db57835467ffffffffffffffff1916426001600160401b0390811691909117808655600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808755600d5467ffffffffffffffff60801b198216600160801b93909204841601909216021784556040518d906000805160206149f6833981519152906125ce90600090613eba565b60405180910390a2611d74565b891580156125ec5750600984015483145b80612605575060018a1480156126055750600a84015483145b15611d7457600b8054855467ffffffffffffffff1916429091016001600160401b0390811691909117808755600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808855600d5467ffffffffffffffff60801b198216600160801b939092048416019092160217855561268890850160006136bf565b83600501600090558c6000805160206149f68339815191526000604051611d6b9190613eba565b6000546001600160a01b031681565b6003546001600160a01b031690565b600086815260106020526040902060026126e6886109cd565b60078111156126f157fe5b1461270e5760405162461bcd60e51b81526004016104ed906140bb565b8561272b5760405162461bcd60e51b81526004016104ed906146ac565b600061273b8833888888886131bd565b60008981526012602090815260408083203384529091529020549091506127705761276a826005015482613009565b60058301555b60008881526012602090815260408083203380855292528083208a90555190918a917f918e84941a111dde88f3d5739c3e63ffa70d869cbbfd4ecbab1dbb3b379055f99190a36127c68260040154600a5461305d565b82600501541061284657815467ffffffffffffffff60401b1916600160401b426001600160401b038181169290920292909217808555600d5490920116600160801b0267ffffffffffffffff60801b1990911617825560405188906000805160206149f68339815191529061283d90600190613eba565b60405180910390a25b5050505050505050565b60008281526010602052604081206004810154829061287090859061302c565b9050600061288a6009840160010154600985016000610a81565b90506128a1612899838361305d565b60085461305d565b9695505050505050565b600085815260106020526040902060066128c4876109cd565b60078111156128cf57fe5b14806128ee575060076128e1876109cd565b60078111156128ec57fe5b145b61290a5760405162461bcd60e51b81526004016104ed90614800565b600080612918888686610b42565b915091506000821161293c5760405162461bcd60e51b81526004016104ed9061429a565b60008881526011602090815260408083206001600160a01b03808a1685529083528184208885529092528083209290925560055460065492516393c4553560e01b8152908216926393c455359261299f9291169086908a90600190600401613f76565b600060405180830381600087803b1580156129b957600080fd5b505af11580156129cd573d6000803e3d6000fd5b505050506000811115612a4c57600354600284015460405163fce891a560e01b81526001600160a01b039092169163fce891a591612a19918b918b918b9060008990039060040161496a565b600060405180830381600087803b158015612a3357600080fd5b505af1158015612a47573d6000803e3d6000fd5b505050505b83856001600160a01b0316897f388e060f12fe3bf76a4ba6d79050cbfa0484dfbfc3a2b866afbcbf4058b24bfe85604051612a879190613eba565b60405180910390a45050505050505050565b60009081526014602052604090205490565b600354604051630d3d4c7160e11b81526000916001600160a01b031690631a7a98e290612add90600190600401613eba565b604080518083038186803b158015612af457600080fd5b505afa158015612b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2c9190613a57565b519050612b40878760018489898989612da9565b50505050505050565b60008381526011602090815260408083206001600160a01b038616845282528083208484529091529020545b9392505050565b600354600160a01b900460ff1690565b60006001600160a01b038316301415612ba75750600161177a565b6001546001600160a01b0384811691161415612bc55750600161177a565b6000546001600160a01b0316612bdd5750600061177a565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390612c1190869030908790600401613f26565b60206040518083038186803b158015612c2957600080fd5b505afa158015612c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6191906139c9565b905061177a565b6020015190565b60248101516044820151600354604051630d3d4c7160e11b8152600093929184916001600160a01b0390911690631a7a98e290612cb0908690600401613eba565b604080518083038186803b158015612cc757600080fd5b505afa158015612cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cff9190613a57565b519050600019821415612d16579250610b32915050565b600480546040516304e8852f60e11b81526001600160a01b03909116916309d10a5e91612d47918591879101613e96565b60206040518083038186803b158015612d5f57600080fd5b505afa158015612d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d9791906139fd565b9350505050610b32565b505050919050565b600354600160a01b900460ff1615612dd35760405162461bcd60e51b81526004016104ed90614792565b6001600354600160a81b900460ff166002811115612ded57fe5b14612e0a5760405162461bcd60e51b81526004016104ed906144ec565b6003546001600160a01b0389811691161415612e385760405162461bcd60e51b81526004016104ed9061462a565b600f805460010190819055600090815260106020908152604091829020600b54815467ffffffffffffffff1916429091016001600160401b0390811691909117808355600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808455600d5467ffffffffffffffff60801b198216600160801b93909204841601909216021781556004805484516397824c3f60e01b8152945192946001600160a01b03909116936397824c3f93828401939192909190829003018186803b158015612f0857600080fd5b505afa158015612f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4091906139fd565b60018201556002810187905560038101869055600f54612f65906000878787876131bd565b6004820155600d8101805462010000600160b01b031916620100006001600160a01b038c16021790558751612fa390600e83019060208b01906136cd565b5086600f547fec8f382abfacc0416a7b1eca9ddfcb6f79f9ee369eba7478f5471bd692bb5db733604051612fd79190613ec3565b60405180910390a3505050505050505050565b60008181526010602052604081206004015460075461177a919061305d565b8082018281101561177a5760405162461bcd60e51b81526004016104ed9061433d565b60008161304e61304485670de0b6b3a76400006132fb565b6002855b04613009565b8161305557fe5b049392505050565b6000670de0b6b3a764000061304e61307585856132fb565b6002670de0b6b3a7640000613048565b8082038281111561177a5760405162461bcd60e51b81526004016104ed906140f2565b600061177a600183613085565b6000633268b39f60e21b6130c883612c68565b6001600160e01b031916146130d957fe5b60648201516084830151610184840151601982141561312057826040516020016131039190613eba565b604051602081830303815290604052805190602001209350612da1565b8281604051602001613133929190613e96565b604051602081830303815290604052805190602001209350505050919050565b6000828152601060205260408120600d01546201000090046001600160a01b0316818115613181578161318e565b6003546001600160a01b03165b90506000808551602087016000855af195945050505050565b600060e482015280516043190160649091012090565b6000806131cc86868686613332565b60008981526010602052604090206001015490915081146131ff5760405162461bcd60e51b81526004016104ed9061436b565b60208501516014870151603488015160488901516003546001600160a01b038085169116146132405760405162461bcd60e51b81526004016104ed90614186565b60008c81526010602052604090206003015482146132705760405162461bcd60e51b81526004016104ed90614675565b8a6001600160a01b0316816001600160a01b0316146132a15760405162461bcd60e51b81526004016104ed906144b5565b50919a9950505050505050505050565b600082826040516020016132c6929190613e96565b60405160208183030381529060405280519060200120905092915050565b6000818311156132f45781612b75565b5090919050565b60008115806133165750508082028282828161331357fe5b04145b61177a5760405162461bcd60e51b81526004016104ed906141c7565b60008061334f86805190602001208680519060200120868661335a565b509695505050505050565b600061336461374b565b61336c613769565b5060408051808201909152868152610100602082015261338a613780565b86815261339561374b565b60005b86518110156134715760006133ac896134db565b60ff169050806001901b19891698506133d18160ff038661353390919063ffffffff16565b602086018190529095506000906133e79061359a565b602087015290506133f7856135f4565b84826002811061340357fe5b6020020152885189906000198582030190811061341c57fe5b602002602001015184826001036002811061343357fe5b6020020181815250508360405160200161344d9190613e62565b60408051601f19818403018152919052805160209091012085525050600101613398565b508661348357602082018390526134c4565b600061348e886134db565b60ff1690506134a98160ff038561353390919063ffffffff16565b602085018190529094506134bc9061359a565b602085015250505b6134cd826135f4565b999098509650505050505050565b6000816134fa5760405162461bcd60e51b81526004016104ed90614410565b8160805b60018160ff1610610b2f57600019600160ff83161b018216613528579182019160ff81169190911c905b60011c607f166134fe565b61353b613769565b613543613769565b8360200151831115801561355957506101008311155b61355f57fe5b60208201839052826135745760008252613583565b835160011960ff8590031b1682525b60208085015184900390820152925190911b825291565b60006135a4613769565b60008360200151116135c85760405162461bcd60e51b81526004016104ed90614589565b5050805160408051808201909152825160011b8152602092830151600019019281019290925260ff1c91565b8051602080830151808201519051604051600094613616949093929101613ea4565b604051602081830303815290604052805190602001209050919050565b604051806101c0016040528061364761379f565b815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200161368161374b565b815260200161368e61374b565b815260200161369b61374b565b81526000602082018190526040820181905260608083019190915260809091015290565b506000815560010160009055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061370e57805160ff191683800117855561373b565b8280016001018555821561373b579182015b8281111561373b578251825591602001919060010190613720565b506137479291506137bd565b5090565b60405180604001604052806002906020820280368337509192915050565b604080518082019091526000808252602082015290565b60408051808201909152600081526020810161379a613769565b905290565b60405180606001604052806003906020820280368337509192915050565b5b8082111561374757600081556001016137be565b8035610b32816149d2565b600082601f8301126137ed578081fd5b81356001600160401b0381111561380057fe5b6020808202613810828201614996565b8381529350818401858301828701840188101561382c57600080fd5b600092505b84831015611774578035825260019290920191908301908301613831565b600082601f83011261385f578081fd5b81356001600160401b0381111561387257fe5b613885601f8201601f1916602001614996565b915080825283602082850101111561389c57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156138c6578081fd5b8135612b75816149d2565b6000602082840312156138e2578081fd5b8151612b75816149d2565b60008060008060008060c08789031215613905578182fd5b61390e876137d2565b955060208701356001600160401b0380821115613929578384fd5b6139358a838b0161384f565b9650604089013591508082111561394a578384fd5b6139568a838b0161384f565b9550606089013591508082111561396b578384fd5b6139778a838b0161384f565b94506080890135935060a0890135915080821115613993578283fd5b506139a089828a016137dd565b9150509295509295509295565b6000602082840312156139be578081fd5b8135612b75816149e7565b6000602082840312156139da578081fd5b8151612b75816149e7565b6000602082840312156139f6578081fd5b5035919050565b600060208284031215613a0e578081fd5b5051919050565b60008060408385031215613a27578182fd5b82356001600160401b03811115613a3c578283fd5b613a488582860161384f565b95602094909401359450505050565b600060408284031215613a68578081fd5b604051604081018181106001600160401b0382111715613a8457fe5b604052825181526020928301519281019290925250919050565b600080600060608486031215613ab2578283fd5b833592506020840135613ac4816149d2565b929592945050506040919091013590565b60008060008060008060c08789031215613aed578384fd5b863595506020870135945060408701356001600160401b038082111561394a578586fd5b600080600080600080600060e0888a031215613b2b578485fd5b87359650602088013595506040880135945060608801356001600160401b0380821115613b56578283fd5b613b628b838c0161384f565b955060808a0135915080821115613b77578283fd5b613b838b838c0161384f565b945060a08a0135935060c08a0135915080821115613b9f578283fd5b50613bac8a828b016137dd565b91505092959891949750929550565b60008060408385031215613bcd578182fd5b50508035926020909101359150565b600080600080600080600060e0888a031215613bf6578081fd5b873596506020880135955060408801356001600160401b0380821115613c1a578283fd5b613c268b838c0161384f565b965060608a0135915080821115613b56578283fd5b600080600080600060a08688031215613c52578283fd5b8535945060208601359350604086013592506060860135613c72816149d2565b949793965091946080013592915050565b600080600080600080600060e0888a031215613b2b578081fd5b60008060008060008060008060006101208a8c031215613cbb578283fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a01356001600160401b0380821115613cf4578485fd5b613d008d838e0161384f565b955060c08c0135915080821115613d15578485fd5b613d218d838e0161384f565b945060e08c013593506101008c0135915080821115613d3e578283fd5b50613d4b8c828d016137dd565b9150509295985092959850929598565b600080600080600080600080610100898b031215613d77578182fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b6001600160a01b03169052565b8060005b6002811015613ddf578151845260209384019390910190600101613dc0565b50505050565b8060005b6003811015613ddf5781516001600160401b0316845260209384019390910190600101613de9565b15159052565b60008151808452815b81811015613e3c57602081850181015186830182015201613e20565b81811115613e4d5782602083870101525b50601f01601f19169290920160200192915050565b60008183825b6002811015613e87578151835260209283019290910190600101613e68565b50505060408201905092915050565b918252602082015260400190565b9283526020830191909152604082015260600190565b90815260200190565b6001600160a01b0391909116815260200190565b6001600160a01b03841681526020810183905260608101613ef7836149c5565b826040830152949350505050565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6001600160a01b0393909316835260208301919091521515604082015260600190565b6001600160a01b039485168152602081019390935292166040820152901515606082015260800190565b901515815260200190565b6001600160e01b031991909116815260200190565b600060208252612b756020830184613e17565b60006040820160408352818554600180821660008114613ffa576001811461401857614051565b60028304607f16855260ff1983166060880152608087019350614051565b600283048086526140288a6149b9565b875b828110156140475781548a8201606001529084019060200161402a565b8901606001955050505b5050508092505050612b756020830184613e11565b60208101614073836149c5565b91905290565b60208082526022908201527f766f74696e672d7265702d657870656e6469747572652d6c6f636b2d6661696c604082015261195960f21b606082015260800190565b6020808252601a908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d6f70656e000000000000604082015260600190565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b6020808252601d908201527f766f74696e672d7265702d696e73756666696369656e742d7374616b65000000604082015260600190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526021908201527f766f74696e672d7265702d696e76616c69642d636f6c6f6e792d6164647265736040820152607360f81b606082015260800190565b60208082526014908201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604082015260600190565b6020808252601e908201527f766f74696e672d7265702d616c72656164792d696e697469616c697365640000604082015260600190565b6020808252601a908201527f766f74696e672d7265702d7365637265742d6e6f2d6d61746368000000000000604082015260600190565b6020808252601d908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d7374616b696e67000000604082015260600190565b6020808252601b908201527f766f74696e672d7265702d6e6f7468696e672d746f2d636c61696d0000000000604082015260600190565b6020808252818101527f766f74696e672d7265702d677265617465722d7468616e2d68616c662d776164604082015260600190565b6020808252601b908201527f766f74696e672d7265702d696e73756666696369656e742d7265700000000000604082015260600190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b6020808252601c908201527f766f74696e672d7265702d696e76616c69642d726f6f742d6861736800000000604082015260600190565b6020808252601c908201527f766f74696e672d7265702d696e76616c69642d646f6d61696e2d696400000000604082015260600190565b6020808252601a908201527f766f74696e672d7265702d63616c6c65722d6e6f742d726f6f74000000000000604082015260600190565b6020808252601e908201527f636f6c6f6e792d70617472696369612d747265652d7a65726f2d73656c660000604082015260600190565b6020808252601f908201527f766f74696e672d7265702d696e76616c69642d646f6d61696e2d70726f6f6600604082015260600190565b6020808252601b908201527f657874656e73696f6e2d616c72656164792d696e7374616c6c65640000000000604082015260600190565b6020808252601f908201527f766f74696e672d7265702d696e76616c69642d757365722d6164647265737300604082015260600190565b602080825260159082015274766f74696e672d7265702d6e6f742d61637469766560581b604082015260600190565b6020808252601c908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d636c6f73656400000000604082015260600190565b6020808252601c908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d72657665616c00000000604082015260600190565b60208082526025908201527f636f6c6f6e792d70617472696369612d747265652d7a65726f2d73656c662d6c6040820152640cadccee8d60db1b606082015260800190565b602080825260139082015272766f74696e672d7265702d6261642d766f746560681b604082015260600190565b6020808252601590820152741d9bdd1a5b99cb5c995c0b5898590b585b5bdd5b9d605a1b604082015260600190565b6020808252602b908201527f766f74696e672d7265702d616c742d7461726765742d63616e6e6f742d62652d60408201526a626173652d636f6c6f6e7960a81b606082015260800190565b6020808252601b908201527f766f74696e672d7265702d696e76616c69642d736b696c6c2d69640000000000604082015260600190565b60208082526019908201527f766f74696e672d7265702d696e76616c69642d73656372657400000000000000604082015260600190565b60208082526021908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d66696e616c697a61626c6040820152606560f81b606082015260800190565b6020808252601b908201527f766f74696e672d7265702d696e76616c69642d66756e6374696f6e0000000000604082015260600190565b6020808252601b908201527f766f74696e672d7265702d677265617465722d7468616e2d7761640000000000604082015260600190565b6020808252601b908201527f636f6c6f6e792d657874656e73696f6e2d646570726563617465640000000000604082015260600190565b6020808252601a908201527f766f74696e672d7265702d706572696f642d746f6f2d6c6f6e67000000000000604082015260600190565b6020808252601f908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d636c61696d61626c6500604082015260600190565b60006020825261484b602083018451613de5565b60208301516080830152604083015160a0830152606083015160c0830152608083015160e083015260a0830151610100818185015260c08501519150610120828186015260e086015192506101406148a581870185613dbc565b918601519250610180916148bb86840185613dbc565b8187015193506148cf6101c0870185613dbc565b86015192506148e49050610200850183613e11565b61016085015191506148fa610220850183613e11565b840151905061490d610240840182613daf565b506101a083015161026083810152614929610280840182613e17565b949350505050565b96875260208701959095526001600160a01b0393841660408701529183166060860152608085015260a08401521660c082015260e00190565b948552602085019390935260408401919091526001600160a01b03166060830152608082015260a00190565b6040518181016001600160401b03811182821017156149b157fe5b604052919050565b60009081526020902090565b600881106149cf57fe5b50565b6001600160a01b03811681146149cf57600080fd5b80151581146149cf57600080fdfe0ae897e29e11067b0051d7f0047638509aeaeacf4e5c4146283aa5dd6ad03fd4a264697066735822122070c71b4c098633d9bd5f8191b72bc2b4fb870b5c9b448c842851c1827e11258364736f6c63430007030033";