diff --git a/hardhat.config.js b/hardhat.config.js index 7d8ebae81..1c083b453 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -114,7 +114,7 @@ module.exports = { accounts: { mnemonic: MNEMONIC }, throwOnTransactionFailures: true, throwOnCallFailures: true, - allowUnlimitedContractSize: false, + allowUnlimitedContractSize: true, initialDate: moment.unix(0).toDate().toString(), mining: { auto: true, diff --git a/package.json b/package.json index 54f42d365..a1069a4c3 100644 --- a/package.json +++ b/package.json @@ -64,9 +64,10 @@ "copy-to-clipboard": "^3.3.1", "crypto-js": "^4.1.1", "diff": "^5.1.0", - "dxdao-contracts": "https://github.com/DXgovernance/dxdao-contracts.git#develop", + "dxdao-contracts": "https://github.com/MiltonTulli/dxdao-contracts#execute-signed-votes", "eslint-config-react-app": "^7.0.1", "eslint-plugin-cypress": "^2.12.1", + "ethereum-multicall": "^2.15.0", "ethers": "^5.5.2", "git-revision-webpack-plugin": "^3.0.6", "hardhat": "^2.9.1", @@ -81,6 +82,7 @@ "jszip": "^3.7.1", "lodash": "^4.17.21", "markdown-to-jsx": "^7.1.5", + "merkletreejs": "^0.2.32", "mini-css-extract-plugin": "2.4.5", "minisearch": "^3.1.0", "moment": "^2.24.0", @@ -203,3 +205,4 @@ ] } } + diff --git a/scripts/dev.ts b/scripts/dev.ts index bccb4c658..494fe6202 100644 --- a/scripts/dev.ts +++ b/scripts/dev.ts @@ -912,7 +912,7 @@ async function main() { }, }, - ...utils.createMultipleRandomProposals(2, { + ...utils.createMultipleRandomProposals(7, { data: { guildName: 'DXDGuild' }, }), ]; diff --git a/src/Modules/Guilds/Wrappers/ProposalVoteCardWrapper.tsx b/src/Modules/Guilds/Wrappers/ProposalVoteCardWrapper.tsx index bd93b8b22..e8877fd1f 100644 --- a/src/Modules/Guilds/Wrappers/ProposalVoteCardWrapper.tsx +++ b/src/Modules/Guilds/Wrappers/ProposalVoteCardWrapper.tsx @@ -12,7 +12,7 @@ import { useTransactions } from 'contexts/Guilds'; import { useAccount } from 'wagmi'; import useProposalVotesOfVoter from 'Modules/Guilds/Hooks/useProposalVotesOfVoter'; -const ProposalVoteCardWrapper = () => { +const ProposalVoteCardWrapper = ({ offChainVotes }) => { const { guildId, proposalId } = useTypedParams(); const { address: userAddress } = useAccount(); const { data: proposal } = useProposal(guildId, proposalId); @@ -73,6 +73,7 @@ const ProposalVoteCardWrapper = () => { contract={contract} createTransaction={createTransaction} userVote={userVote} + offChainVotes={offChainVotes} /> ); }; diff --git a/src/Modules/Guilds/pages/Proposal/Proposal.tsx b/src/Modules/Guilds/pages/Proposal/Proposal.tsx index dcbdaa3a3..44b52c181 100644 --- a/src/Modules/Guilds/pages/Proposal/Proposal.tsx +++ b/src/Modules/Guilds/pages/Proposal/Proposal.tsx @@ -13,7 +13,7 @@ import useSnapshotId from 'Modules/Guilds/Hooks/useSnapshotId'; import useProposalCalls from 'Modules/Guilds/Hooks/useProposalCalls'; import { Loading } from 'components/primitives/Loading'; import { Result, ResultState } from 'components/Result'; -import React, { useContext } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import { FaChevronLeft } from 'react-icons/fa'; import { FiArrowLeft } from 'react-icons/fi'; import ProposalVoteCardWrapper from 'Modules/Guilds/Wrappers/ProposalVoteCardWrapper'; @@ -39,12 +39,15 @@ import { } from './Proposal.styled'; import { useTranslation } from 'react-i18next'; import useTimeDetail from 'Modules/Guilds/Hooks/useTimeDetail'; +import { OrbisContext } from 'contexts/Guilds/orbis'; const ProposalPage: React.FC = () => { const { t } = useTranslation(); const { connector } = useAccount(); const { chainName, guildId, proposalId } = useTypedParams(); + const [allData, setallData] = useState(null); + const { isLoading: isGuildAvailabilityLoading } = useContext( GuildAvailabilityContext ); @@ -65,6 +68,8 @@ const ProposalPage: React.FC = () => { const { data: totalLocked } = useTotalLocked(guildId, snapshotId?.toString()); + const { orbis } = useContext(OrbisContext); + const quorum = useVotingPowerPercent( guildConfig?.votingPowerForProposalExecution, totalLocked @@ -77,6 +82,27 @@ const ProposalPage: React.FC = () => { data: { executeProposal }, } = useExecutable(); + const getDiscussions = async (page: number = 0) => { + let { data } = await orbis.getPosts( + { + algorithm: 'all-context-master-posts', + context: `signed-votes-${proposalId}`, + }, + page + ); + console.log(data); + setallData(data); + }; + + useEffect(() => { + getDiscussions(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + console.log(allData); + }, [allData]); + if (!isGuildAvailabilityLoading) { if (!proposalIds?.includes(proposalId)) { return ( @@ -137,7 +163,7 @@ const ProposalPage: React.FC = () => { - + theme.colors.text}; @@ -100,3 +101,9 @@ export const SidebarMenuItem = styled.div<{ current?: boolean }>` } } `; + +export const IconsRow = styled(Flex)` + flex-direction: row; + justify-content: space-between; +`; +export const OffChainVotesIcon = styled.div``; diff --git a/src/components/GuildSidebar/GuildSidebar.tsx b/src/components/GuildSidebar/GuildSidebar.tsx index 535daa03c..3b419363f 100644 --- a/src/components/GuildSidebar/GuildSidebar.tsx +++ b/src/components/GuildSidebar/GuildSidebar.tsx @@ -17,7 +17,12 @@ import { SidebarMenu, SidebarMenuItem, SidebarWrapper, + OffChainVotesIcon, + IconsRow, } from './GuildSidebar.styled'; +import { BsClipboardCheck } from 'react-icons/bs'; +import { useVoteCart } from 'contexts/Guilds/voteCart'; +import { Button } from 'components/primitives/Button'; export interface GuildSidebarProps { guildName?: string; @@ -34,6 +39,8 @@ export const GuildSidebar: React.FC = ({ let { chainName, guildId } = useTypedParams(); const { pathname } = useLocation(); + const { votes: cartVotes, openVoteCart } = useVoteCart(); + const locations = { governance: `/${chainName}/${guildId}`, allProposals: `/${chainName}/${guildId}/all-proposals`, @@ -41,16 +48,28 @@ export const GuildSidebar: React.FC = ({ return ( - - {numberOfMembers != null ? ( - - - - - ) : ( - - )} - + + + {numberOfMembers != null ? ( + + + + + ) : ( + + )} + + + {!!cartVotes.length && ( + + )} + + diff --git a/src/components/MultiVoteModal/MultiVoteModal.styled.tsx b/src/components/MultiVoteModal/MultiVoteModal.styled.tsx new file mode 100644 index 000000000..d291fa677 --- /dev/null +++ b/src/components/MultiVoteModal/MultiVoteModal.styled.tsx @@ -0,0 +1,25 @@ +import styled from 'styled-components'; + +export const ModalWrapper = styled.div` + margin: 16px; +`; +export const VoteCount = styled.div` + margin-bottom: 8px; + font-weight: 500; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + + display: flex; + align-items: center; + + /* grey */ + + color: #a1a6b0; +`; + +export const ButtonsWrapper = styled.div` + display: flex; + justify-content: space-between; +`; + diff --git a/src/components/MultiVoteModal/MultiVoteModal.tsx b/src/components/MultiVoteModal/MultiVoteModal.tsx new file mode 100644 index 000000000..bf0b604d5 --- /dev/null +++ b/src/components/MultiVoteModal/MultiVoteModal.tsx @@ -0,0 +1,93 @@ +// import { useState } from 'react'; +import { Button } from 'components/primitives/Button'; +import { Modal } from 'components/primitives/Modal'; +import { Vote as VoteInterface } from 'contexts/Guilds/voteCart'; +import { Vote } from './Vote'; +import { + ModalWrapper, + VoteCount, + ButtonsWrapper, +} from './MultiVoteModal.styled'; + +interface MultiVoteModalProps { + isModalOpen: boolean; + setModalOpen: (v: boolean) => void; + votes: VoteInterface[]; + confirmVote: () => void; + setVotes: (v: any) => void; + removeVote: (v: VoteInterface) => void; +} + +export const MultiVoteModal = ({ + isModalOpen, + setModalOpen, + votes, + confirmVote, + setVotes, + removeVote, +}: MultiVoteModalProps) => { + // const [selectedVotes, setSelectedVotes] = useState([]); + // const isSelected = (v: VoteInterface) => + // selectedVotes.some( + // vote => + // vote.proposal.id === v.proposal.id && + // vote.optionLabel === v.optionLabel && + // vote.voter === v.voter + // ); + // const toggle = (vote: VoteInterface) => { + // if (isSelected(vote)) { + // const newVotes = selectedVotes.filter(v => { + // return ( + // v.proposal.id !== vote.proposal.id && + // v.optionLabel !== vote.optionLabel && + // v.voter !== vote.voter + // ); + // }); + // setSelectedVotes(newVotes); + // } + // setSelectedVotes(v => [...v, vote]); + // }; + + return ( + setModalOpen(false)} + header="MultiVote" + cross + maxWidth={300} + > + + {!votes.length ? ( +
No votes added to the cart. Start voting
+ ) : ( + + {votes.length} Vote{votes.length > 1 ? 's' : ''} + + )} + {votes.length > 0 && + votes?.map(vote => { + // const selected = isSelected(vote); + return ( + removeVote(vote)} + selected={false} + toggle={() => {}} + vote={vote} + /> + ); + })} + {votes.length > 0 && ( + + + + + )} +
+
+ ); +}; + diff --git a/src/components/MultiVoteModal/Vote/Vote.styled.tsx b/src/components/MultiVoteModal/Vote/Vote.styled.tsx new file mode 100644 index 000000000..0a26460c3 --- /dev/null +++ b/src/components/MultiVoteModal/Vote/Vote.styled.tsx @@ -0,0 +1,40 @@ +import styled from 'styled-components'; + +export const VoteWrapper = styled.div<{ selected?: boolean }>` + padding: 10px; + border: ${({ selected }) => + selected ? '1px solid white;' : `1px solid #2f3136;`} + border-radius: 4px; + margin: 6px 0px; +`; + +export const Title = styled.h3` + font-weight: 500; + font-size: 14px; + line-height: 20px; + display: flex; + align-items: center; + color: #ffffff; +`; +export const Row = styled.div` + display: flex; + justify-content: space-between; + align-items: center; +`; +export const DescriptionLabel = styled.span` + font-weight: 600; + font-size: 12px; + line-height: 20px; + display: flex; + align-items: center; + + color: #a1a6b0; +`; + +export const SelectedOptionBox = styled(VoteWrapper)` + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +`; + diff --git a/src/components/MultiVoteModal/Vote/Vote.tsx b/src/components/MultiVoteModal/Vote/Vote.tsx new file mode 100644 index 000000000..77f6deb72 --- /dev/null +++ b/src/components/MultiVoteModal/Vote/Vote.tsx @@ -0,0 +1,52 @@ +import { useState } from 'react'; +import { Vote as VoteInterface } from 'contexts/Guilds/voteCart'; +import { HiChevronDown } from 'react-icons/hi'; +import { HiChevronUp } from 'react-icons/hi'; +import { Button } from 'components/primitives/Button'; + +import { + VoteWrapper, + Title, + Row, + DescriptionLabel, + SelectedOptionBox, +} from './Vote.styled'; + +interface VoteProps { + vote: VoteInterface; + selected: boolean; + toggle: (vote: VoteInterface) => void; + removeVote: () => void; +} +export const Vote = ({ vote, toggle, selected, removeVote }: VoteProps) => { + const [expanded, setExpanded] = useState(false); + return ( + toggle(vote)}> + + {vote.proposal.title} + + {expanded ? ( + setExpanded(false)} /> + ) : ( + setExpanded(true)} /> + )} + + {expanded && ( + <> + + {vote.proposal?.metadata?.description} + + + + Option + {vote.optionLabel} + + + )} + + + ); +}; + diff --git a/src/components/MultiVoteModal/Vote/index.ts b/src/components/MultiVoteModal/Vote/index.ts new file mode 100644 index 000000000..21b45a8bf --- /dev/null +++ b/src/components/MultiVoteModal/Vote/index.ts @@ -0,0 +1 @@ +export { Vote } from './Vote'; diff --git a/src/components/MultiVoteModal/index.ts b/src/components/MultiVoteModal/index.ts new file mode 100644 index 000000000..77654efb9 --- /dev/null +++ b/src/components/MultiVoteModal/index.ts @@ -0,0 +1 @@ +export { MultiVoteModal } from './MultiVoteModal'; diff --git a/src/components/ProposalVoteCard/ProposalVoteCard.test.tsx b/src/components/ProposalVoteCard/ProposalVoteCard.test.tsx deleted file mode 100644 index 3f7143c4b..000000000 --- a/src/components/ProposalVoteCard/ProposalVoteCard.test.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { render } from 'utils/tests'; -import ProposalVoteCard from './ProposalVoteCard'; -import { mockProposalVoteCardProps } from './fixture'; - -describe('ProposalVoteCard', () => { - it('matches the snapshot', () => { - const { container } = render( - - ); - expect(container).toMatchSnapshot(); - }); -}); diff --git a/src/components/ProposalVoteCard/ProposalVoteCard.tsx b/src/components/ProposalVoteCard/ProposalVoteCard.tsx index 0edff1628..eb265d20f 100644 --- a/src/components/ProposalVoteCard/ProposalVoteCard.tsx +++ b/src/components/ProposalVoteCard/ProposalVoteCard.tsx @@ -3,7 +3,8 @@ import { SidebarCardContent, SidebarCardHeaderSpaced, } from 'components/SidebarCard'; -import VotesChart from './components/VoteChart/VoteChart'; +// import VotesChart from './components/VoteChart/VoteChart'; +import { useAccount } from 'wagmi'; import { VoteConfirmationModal } from './components/VoteConfirmationModal'; import { UserVote } from './components/UserVote'; import VoteResults from './components/VoteResults/VoteResults'; @@ -26,6 +27,9 @@ import { hasVotingPowerProps, ProposalVoteCardProps } from './types'; import { useTranslation } from 'react-i18next'; import { getOptionLabel } from 'components/ProposalVoteCard/utils'; import useVotingPowerPercent from 'Modules/Guilds/Hooks/useVotingPowerPercent'; +import { useVoteCart } from 'contexts/Guilds/voteCart'; +import { useTypedParams } from 'Modules/Guilds/Hooks/useTypedParams'; +import { useERC20Guild } from 'hooks/Guilds/contracts/useContract'; const ProposalVoteCard = ({ voteData, @@ -35,13 +39,17 @@ const ProposalVoteCard = ({ contract, createTransaction, userVote, + offChainVotes, }: ProposalVoteCardProps) => { const theme = useTheme(); - const { t } = useTranslation(); + const { address: voter } = useAccount(); + const { t } = useTranslation(); + const { addVote, votes } = useVoteCart(); const [isPercent, setIsPercent] = useState(true); const [selectedOption, setSelectedOption] = useState(); const [modalOpen, setModalOpen] = useState(); + const { guildId } = useTypedParams(); const isOpen = useMemo( () => proposal?.endTime?.isAfter(moment(timestamp)), [proposal, timestamp] @@ -71,6 +79,63 @@ const ProposalVoteCard = ({ votingPowerAtProposalCurrentSnapshot: votingPower?.atCurrentSnapshot, }); + const guildContract = useERC20Guild(guildId); + + const executeOffChainVotes = async () => { + if (offChainVotes) { + let roots = []; + let voters = []; + let voteHashes = []; + let proofs = []; + let proposalIds = []; + let options = []; + let votingPowers = []; + let signatures = []; + + await offChainVotes.forEach(async post => { + let { + root, + voter, + voteHash, + proof, + proposalId, + option, + votingPower, + signature, + } = post.content.data; + + let signedVoteExecuted: boolean = await guildContract.getSignedVote( + voteHash + ); + + if (!signedVoteExecuted) { + roots.push(root); + voters.push(voter); + voteHashes.push(voteHash); + proofs.push(proof); + proposalIds.push(proposalId); + options.push(option); + votingPowers.push(votingPower); + signatures.push(signature); + } + return; + }); + + let result = await guildContract.executeSignedVotesBatches( + roots, + voters, + voteHashes, + proofs, + proposalIds, + options, + votingPowers, + signatures + ); + + console.log(result); + } + }; + const handleVoteOnProposal = ({ hasNoVotingPower, hasVotingPowerAtCurrentSnapshot, @@ -118,8 +183,13 @@ const ProposalVoteCard = ({ isPercent={isPercent} voteData={voteData} proposalMetadata={proposal?.metadata} + offChainVotes={offChainVotes} /> - + {/* */} + {votes.some(v => v.proposal.id === proposal.id) && ( +
+ You have vote stored in vote cart for this proposal +
+ )} {/* Hide voting options if user has already voted */} {isOpen && !userVote?.option && voteData?.options && ( {t('options')} - {/* Getting the full option keys list but displaying default 0 index option at the bottom */} {[...Object.keys(voteData?.options).slice(1), '0'].map( optionKey => { @@ -161,7 +243,6 @@ const ProposalVoteCard = ({ ); } )} - @@ -173,6 +254,12 @@ const ProposalVoteCard = ({ > {t('vote')} + + Execute off-chain Votes + )} @@ -191,6 +278,22 @@ const ProposalVoteCard = ({ setModalOpen(false); setSelectedOption(null); }} + onAddToVoteCart={() => { + addVote({ + voter, + proposal, + selectedOption, + votingPower: votingPower.userVotingPower, + contractAddress: guildId, + optionLabel: getOptionLabel({ + metadata: proposal?.metadata, + optionKey: selectedOption?.toNumber(), + t, + }), + }); + setModalOpen(false); + setSelectedOption(null); + }} selectedOption={getOptionLabel({ metadata: proposal?.metadata, optionKey: selectedOption?.toNumber(), diff --git a/src/components/ProposalVoteCard/components/VoteChart/VoteChart.test.tsx b/src/components/ProposalVoteCard/components/VoteChart/VoteChart.test.tsx deleted file mode 100644 index 32ca9edf2..000000000 --- a/src/components/ProposalVoteCard/components/VoteChart/VoteChart.test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from 'utils/tests'; -import VoteChart from './VoteChart'; -import { mockVoteChart } from '../../fixture'; - -describe('VoteChart', () => { - it('matches the snapshot', () => { - const { container } = render(); - expect(container).toMatchSnapshot(); - }); -}); diff --git a/src/components/ProposalVoteCard/components/VoteChart/VoteChart.tsx b/src/components/ProposalVoteCard/components/VoteChart/VoteChart.tsx index 65ee8bd64..ea6a9c6d0 100644 --- a/src/components/ProposalVoteCard/components/VoteChart/VoteChart.tsx +++ b/src/components/ProposalVoteCard/components/VoteChart/VoteChart.tsx @@ -13,9 +13,14 @@ import { PaddedFlagCheckered, } from './VoteChart.styled'; import { VoteChartProps } from '../../types'; +import { useEffect, useState } from 'react'; //TODO: rewrite css dynamics types -const VotesChart: React.FC = ({ isPercent, voteData }) => { +const VotesChart: React.FC = ({ + isPercent, + voteData, + offChainVotes, +}) => { const theme = useTheme(); const nQuorum = useBigNumberToNumber( @@ -27,10 +32,31 @@ const VotesChart: React.FC = ({ isPercent, voteData }) => { voteData?.totalLocked ); + const [filteredData, setFilteredData] = useState([]); + + useEffect(() => { + let magicHappens = []; + + if (offChainVotes && offChainVotes.length > 0) { + offChainVotes.forEach(vote => { + let option = parseInt(vote.content.data.option._hex, 16); + let currentOptionVotes = magicHappens[option]; + + if (!currentOptionVotes) magicHappens[option] = BigNumber.from(0); + magicHappens[option] = magicHappens[option].add( + vote.content.data.votingPower + ); + }); + } + + console.log(magicHappens); + setFilteredData(magicHappens); + }, [offChainVotes]); + return ( {voteData?.options ? ( - + <> {Object.entries(voteData.options).map(([idx, item]) => { const percentBN = BigNumber.from( voteData?.totalLocked || 0 @@ -39,15 +65,33 @@ const VotesChart: React.FC = ({ isPercent, voteData }) => { : item.mul(100).mul(Math.pow(10, 2)).div(voteData?.totalLocked); const percent = Math.round(percentBN.toNumber()) / Math.pow(10, 2); + const signedPercentBN = BigNumber.from( + filteredData[idx] || 0 + ).isZero() + ? BigNumber.from(0) + : filteredData[idx] + .mul(100) + .mul(Math.pow(10, 2)) + .div(voteData?.totalLocked); + const signedPercent = + Math.round(signedPercentBN.toNumber()) / Math.pow(10, 2); + return ( - + + + + ); })} - + ) : ( )} diff --git a/src/components/ProposalVoteCard/components/VoteConfirmationModal/VoteConfirmationModal.tsx b/src/components/ProposalVoteCard/components/VoteConfirmationModal/VoteConfirmationModal.tsx index a23d2dfc5..9a1da07c0 100644 --- a/src/components/ProposalVoteCard/components/VoteConfirmationModal/VoteConfirmationModal.tsx +++ b/src/components/ProposalVoteCard/components/VoteConfirmationModal/VoteConfirmationModal.tsx @@ -10,11 +10,14 @@ import { CancelButton, ConfirmButton, } from './VoteConfirmationModal.styled'; +import { Button } from 'components/primitives/Button'; import { Modal } from 'components/primitives/Modal'; import React from 'react'; import { VoteConfirmationModalProps } from '../../types'; import { useTranslation } from 'react-i18next'; +import { AiOutlineInfoCircle } from 'react-icons/ai'; + const VoteConfirmationModal: React.FC = ({ isOpen, onDismiss, @@ -22,6 +25,7 @@ const VoteConfirmationModal: React.FC = ({ selectedOption, votingPower, currentVoteAmount, + onAddToVoteCart, }) => { const { t } = useTranslation(); @@ -56,8 +60,17 @@ const VoteConfirmationModal: React.FC = ({ {t('cancel')} - {t('vote')} + {t('vote')} now + ); diff --git a/src/components/ProposalVoteCard/components/VoteResults/VoteResults.tsx b/src/components/ProposalVoteCard/components/VoteResults/VoteResults.tsx index 044f3a310..875401f51 100644 --- a/src/components/ProposalVoteCard/components/VoteResults/VoteResults.tsx +++ b/src/components/ProposalVoteCard/components/VoteResults/VoteResults.tsx @@ -15,15 +15,23 @@ import { VoteOption, OptionBullet, } from './VoteResults.styled'; +import { BigNumber } from 'ethers'; +import { useEffect, useState } from 'react'; +import { ChartBar, VotesChartRow } from '../VoteChart/VoteChart.styled'; +import { useERC20Guild } from 'hooks/Guilds/contracts/useContract'; +import { useTypedParams } from 'Modules/Guilds/Hooks/useTypedParams'; const VoteResultRow: React.FC = ({ isPercent, optionKey, voteData, proposalMetadata, + offChainVotes, }) => { const theme = useTheme(); const { t } = useTranslation(); + const { guildId } = useTypedParams(); + const guildContract = useERC20Guild(guildId); const isReady = optionKey !== undefined; @@ -33,34 +41,107 @@ const VoteResultRow: React.FC = ({ 2 ); const label = getOptionLabel({ metadata: proposalMetadata, optionKey, t }); + + const [filteredData, setFilteredData] = useState([]); + + useEffect(() => { + let magicHappens = []; + + if (offChainVotes && offChainVotes.length > 0) { + offChainVotes.forEach(async vote => { + let isVoteExecuted = await guildContract.getSignedVote( + vote.content.data.voteHash + ); + let option = parseInt(vote.content.data.option._hex, 16); + let currentOptionVotes = magicHappens[option]; + + if (isVoteExecuted) { + return; + } else { + if (!currentOptionVotes) magicHappens[option] = BigNumber.from(0); + magicHappens[option] = magicHappens[option].add( + vote.content.data.votingPower + ); + } + }); + } + + setFilteredData(magicHappens); + }, [offChainVotes, guildContract]); + return ( - - - - {isReady ? ( - - ) : ( - - )} - - {isReady ? label : } - - {isReady && voteData ? ( - - {isPercent - ? `${votingPowerPercent}%` - : `${formatUnits(voteData?.options?.[optionKey] || 0)} ${ - voteData?.token?.symbol - }`} - - ) : ( - - )} - + <> + + + + {isReady ? ( + + ) : ( + + )} + + {isReady ? label : } + + {isReady && voteData ? ( + + {isPercent + ? `${votingPowerPercent}%` + : `${formatUnits(voteData?.options?.[optionKey] || 0)} ${ + voteData?.token?.symbol + }`} + + ) : ( + + )} + + + {voteData && + voteData.options && + Object.entries(voteData.options).map(([idx, item]) => { + if (parseInt(idx) === optionKey) { + const percentBN = BigNumber.from( + voteData?.totalLocked || 0 + ).isZero() + ? BigNumber.from(0) + : item.mul(100).mul(Math.pow(10, 2)).div(voteData?.totalLocked); + const percent = + Math.round(percentBN.toNumber()) / Math.pow(10, 2); + + const signedPercentBN = BigNumber.from( + filteredData[idx] || 0 + ).isZero() + ? BigNumber.from(0) + : filteredData[idx] + .mul(100) + .mul(Math.pow(10, 2)) + .div(voteData?.totalLocked); + const signedPercent = + Math.round(signedPercentBN.toNumber()) / Math.pow(10, 2); + + return ( + + + + + ); + } else { + return <>; + } + })} + + ); }; @@ -68,6 +149,7 @@ const VoteResults: React.FC = ({ isPercent, voteData, proposalMetadata, + offChainVotes, }) => { const orderedOptions = voteData?.options && [ ...Object.keys(voteData.options).slice(1), @@ -83,6 +165,7 @@ const VoteResults: React.FC = ({ isPercent={isPercent} voteData={voteData} proposalMetadata={proposalMetadata} + offChainVotes={offChainVotes} /> ))} diff --git a/src/components/ProposalVoteCard/fixture.ts b/src/components/ProposalVoteCard/fixture.ts index f9d88bb2a..5050d9fdb 100644 --- a/src/components/ProposalVoteCard/fixture.ts +++ b/src/components/ProposalVoteCard/fixture.ts @@ -1,5 +1,6 @@ import { BigNumber } from 'ethers'; import moment from 'moment'; +import { ContractState } from 'types/types.guilds.d'; const mockBignumber = BigNumber.from(100000000); const mockBigNumberOption = BigNumber.from(100000000000000); @@ -14,6 +15,16 @@ export const mockProposalVoteCardProps = { voteOptions: ['Yes', 'No'], }, endTime: moment(), + creator: '0x1234567890123456789012345678901234567890', + startTime: moment(), + timeDetail: '', + title: 'SWPR single reward campaign', + to: [], + value: [], + totalOptions: BigNumber.from(0), + contentHash: '0x1234567890123456789012345678901234567890', + contractState: ContractState.Active, + totalVotes: [], }, voteData: { options: { @@ -74,6 +85,7 @@ export const mockVoteConfirmationModal = { selectedAction: 'Yes', votingPower: 100, totalLocked: 100, + onAddToVoteCart: () => {}, }; export const mockVoteChart = { diff --git a/src/components/ProposalVoteCard/types.ts b/src/components/ProposalVoteCard/types.ts index f3d74ac42..0f0c547aa 100644 --- a/src/components/ProposalVoteCard/types.ts +++ b/src/components/ProposalVoteCard/types.ts @@ -1,8 +1,8 @@ import { BigNumber } from 'ethers'; import type { VoteData } from 'Modules/Guilds/Hooks/useVotingResults'; import { ERC20Guild } from 'types/contracts'; -import { ProposalMetadata } from 'types/types.guilds'; -import { Moment } from 'moment'; +import { Proposal, ProposalMetadata } from 'types/types.guilds'; +// import { Moment } from 'moment'; import { providers } from 'ethers'; import { UseProposalVotesOfVoterReturn } from 'Modules/Guilds/Hooks/useProposalVotesOfVoter'; @@ -13,6 +13,7 @@ export interface VoteConfirmationModalProps { onConfirm: () => void; votingPower?: number; currentVoteAmount?: number; + onAddToVoteCart: () => void; } export interface Voter { @@ -31,12 +32,12 @@ interface VotingPower { atCurrentSnapshot: BigNumber; } -interface Proposal { - id: string; - metadata: ProposalMetadata; - endTime: Moment; - title?: string; -} +// interface Proposal { +// id: string; +// metadata: ProposalMetadata; +// endTime: Moment; +// title?: string; +// } export interface ProposalVoteCardProps { voteData: VoteData; @@ -49,6 +50,7 @@ export interface ProposalVoteCardProps { txFunction: () => Promise ) => void; userVote?: UseProposalVotesOfVoterReturn; + offChainVotes: any; } export interface ResultRowProps { @@ -56,11 +58,13 @@ export interface ResultRowProps { optionKey?: number; voteData: VoteData; proposalMetadata: ProposalMetadata; + offChainVotes?: any; } export interface VoteChartProps { isPercent: boolean; voteData: VoteData; + offChainVotes: any; } export interface Voter { diff --git a/src/components/primitives/Button/Button.tsx b/src/components/primitives/Button/Button.tsx index bb95a60e5..1bf21155f 100644 --- a/src/components/primitives/Button/Button.tsx +++ b/src/components/primitives/Button/Button.tsx @@ -1,7 +1,7 @@ import styled, { css } from 'styled-components'; type ButtonProps = { - variant?: 'primary' | 'secondary' | 'minimal'; + variant?: 'primary' | 'secondary' | 'minimal' | 'tertiary'; fullWidth?: boolean; m?: string | number; }; @@ -76,6 +76,34 @@ const variantStyles = (variant = 'primary') => color: ${({ theme }) => theme.colors.border1}; } `, + tertiary: css<{ + padding?: string; + margin?: string; + active?: boolean; + selected?: boolean; + }>` + border: 1px solid ${({ theme }) => theme.colors.border1}; + background-color: ${({ theme }) => theme.colors.bg5}; + color: ${({ theme }) => theme.colors.text}; + border-radius: ${({ theme }) => theme.radii.pill}; + padding: ${({ padding }) => (padding ? padding : ' 0.5rem 0.8rem')}; + margin: ${({ margin }) => (margin ? margin : '0.2rem')}; + + :hover:enabled { + border-color: ${({ theme }) => theme.colors.border3}; + } + + :active:enabled { + border: 1px solid ${({ theme }) => theme.colors.border1}; + } + + ${({ active, selected }) => + (active || selected) && + css` + background-color: ${({ theme }) => theme.colors.primary1}; + color: ${({ theme }) => theme.colors.bg1}; + `} + `, }[variant]); export const Button = styled.button` diff --git a/src/components/theme.tsx b/src/components/theme.tsx index b4bcae068..89597d555 100644 --- a/src/components/theme.tsx +++ b/src/components/theme.tsx @@ -26,6 +26,7 @@ export interface GuildsTheme extends ThemeBase { bg2: string; bg3: string; bg4: string; + bg5: string; border1: string; border2: string; @@ -48,6 +49,7 @@ export interface GuildsTheme extends ThemeBase { }; votes: { [key: number]: string }; + votesLight: { [key: number]: string }; }; fonts?: { body: string; diff --git a/src/contexts/Guilds/rootContextProvider.tsx b/src/contexts/Guilds/rootContextProvider.tsx index c3ee94294..3c2be6e85 100644 --- a/src/contexts/Guilds/rootContextProvider.tsx +++ b/src/contexts/Guilds/rootContextProvider.tsx @@ -1,13 +1,16 @@ import React from 'react'; import { FilterProvider } from '.'; import { OrbisProvider } from './orbis'; +import { VoteCartProvider } from './voteCart'; export const GuildsContextProvider: React.FC<{ children: React.ReactNode }> = ({ children, }) => { return ( - {children} + + {children} + ); }; diff --git a/src/contexts/Guilds/voteCart.tsx b/src/contexts/Guilds/voteCart.tsx new file mode 100644 index 000000000..fa21deb75 --- /dev/null +++ b/src/contexts/Guilds/voteCart.tsx @@ -0,0 +1,211 @@ +import { createContext, useContext, useEffect, useState } from 'react'; +import MerkleTree from 'merkletreejs'; +import { BigNumber } from 'ethers'; +import { Proposal } from 'types/types.guilds.d'; +// import { ERC20Guild } from 'types/contracts'; +import { utils } from 'ethers'; +// import { useSignMessage } from 'wagmi'; + +// import { voteOnProposal, confirmVoteProposal } from './utils'; +// import ERC20Guild from 'contracts/BaseERC20Guild.json'; +// import { useTypedParams } from 'Modules/Guilds/Hooks/useTypedParams'; +import { toast } from 'react-toastify'; +// import { Multicall } from 'ethereum-multicall'; +// import { useProvider } from 'wagmi'; +// import config from 'configs/localhost/config.json'; +// import { RiDeleteBin2Line } from 'react-icons/ri'; +import { MultiVoteModal } from 'components/MultiVoteModal'; +import { OrbisContext } from './orbis'; + +import { connect, isConnected } from 'components/Forum'; +import { useSignMessage } from 'wagmi'; + +export interface Vote { + voter: string; + proposal: Proposal; + selectedOption: BigNumber; + votingPower: BigNumber; + contractAddress: string; + optionLabel: string; +} + +interface VoteCartContextReturn { + votes: Vote[]; + addVote: (vote: Vote) => void; + confirmVote: () => void; + openVoteCart: () => void; + closeVoteCart: () => void; + removeVote: (vote: Vote) => void; +} + +const VoteCartContext = createContext(null); + +export const VoteCartProvider = ({ children }) => { + const [votes, setVotes] = useState([]); + const [isModalOpen, setModalOpen] = useState(false); + // const [voteData, setVoteData] = useState(null); + + const { orbis } = useContext(OrbisContext); + + // const provider = useProvider(); + + const { signMessage } = useSignMessage({ + onSuccess: signedMessage => { + toast.success('votes signed'); + createNewVote(arrayOfVotes, signedMessage); + + // const create = async () => { + // for (let i = 0; i < arrayOfVotes.length; i++) { + // let result = { ...arrayOfVotes[i], signature: signedMessage }; + // console.log(result); + // await createNewVote(result); + // } + // }; + + // create(); + }, + }); + + const [arrayOfVotes, setArrayOfVotes] = useState([]); + + const addVote = ({ + voter, + proposal, + selectedOption, + votingPower, + contractAddress, + optionLabel, + }: Vote) => { + if (votes.some(vote => vote.proposal.id === proposal.id)) { + toast.error('You already added a vote for this proposal'); + return; + } + const newVote = { + voter, + proposal, + selectedOption, + votingPower, + contractAddress, + optionLabel, + }; + + setVotes(v => [...v, newVote]); + // toast.success(`Added your vote for proposal ${proposal.title}`); + setModalOpen(true); + setTimeout(() => { + setModalOpen(false); + }, 2000); + }; + + const removeVote = (voteToDelete: Vote) => { + const newVotes = votes.reduce((accumulator, vote) => { + if ( + voteToDelete.proposal.id === vote.proposal.id && + voteToDelete.voter === vote.voter && + voteToDelete.optionLabel === vote.optionLabel + ) + return accumulator; + return [...accumulator, vote]; + }, []); + setVotes(newVotes); + }; + + const populateData = async () => { + if (votes.length === 0) { + toast.error('No votes in cart'); + } + + // Make array of vote hashes + let arrayOfVoteHashes = votes.map( + ({ voter, proposal, selectedOption, votingPower }) => { + const dataToHash = [voter, proposal.id, selectedOption, votingPower]; + + const hash = utils.solidityKeccak256( + ['address', 'bytes32', 'uint256', 'uint256'], + dataToHash + ); + return hash; + } + ); + + const leaves = arrayOfVoteHashes.map(voteHash => voteHash); + const tree = new MerkleTree(leaves, utils.keccak256, { sort: true }); + const root = tree.getHexRoot(); + + const arrayOfVotes2 = votes.map( + ({ voter, proposal, selectedOption, votingPower }, index) => { + let currentVoteHash = arrayOfVoteHashes[index]; + let result = { + root: root, + voter: voter, + voteHash: currentVoteHash, + proof: tree.getHexProof(currentVoteHash), + proposalId: proposal.id, + option: selectedOption, + votingPower: votingPower, + }; + return result; + } + ); + + setArrayOfVotes(arrayOfVotes2); + + signMessage({ message: root }); + }; + + useEffect(() => { + isConnected(orbis).then(res => { + if (res) { + console.log('Already connected with: ', res); + } else { + connect(orbis); + } + }); + }, [orbis]); + + const createNewVote = async (arrayOfVotes, signedMessage) => { + for (let i = 0; i < arrayOfVotes.length; i++) { + console.log('loop'); + let voteData = { ...arrayOfVotes[i], signature: signedMessage }; + console.log(voteData); + let result = await orbis.createPost({ + body: 'hope this works', + context: `signed-votes-${arrayOfVotes[i].proposalId}`, + data: voteData, + }); + + console.log(result); + } + }; + + const confirmVote = async () => { + // send to orbis + populateData(); + setVotes([]); + }; + return ( + setModalOpen(true), + closeVoteCart: () => setModalOpen(false), + removeVote, + }} + > + {children} + + + ); +}; + +export const useVoteCart = () => useContext(VoteCartContext); + diff --git a/src/contracts/BaseERC20Guild.json b/src/contracts/BaseERC20Guild.json index 4d9bd5e05..32e7484ab 100644 --- a/src/contracts/BaseERC20Guild.json +++ b/src/contracts/BaseERC20Guild.json @@ -1,1107 +1,1251 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BaseERC20Guild", - "sourceName": "dxdao-contracts/contracts/erc20guild/BaseERC20Guild.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newState", - "type": "uint256" - } - ], - "name": "ProposalStateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensLocked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "VoteAdded", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "MAX_OPTIONS_PER_PROPOSAL", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activeProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalOptions", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - } - ], - "name": "createProposal", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "endProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getActiveProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getName", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPermissionRegistry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getProposal", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - }, - { - "internalType": "uint256[]", - "name": "totalVotes", - "type": "uint256[]" - } - ], - "internalType": "struct BaseERC20Guild.Proposal", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getProposalVotesOfVoter", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIds", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIdsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "signedVoteHash", - "type": "bytes32" - } - ], - "name": "getSignedVote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTimeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTokenVault", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalMembers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getVoterLockTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "hashVote", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "lockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "lockTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "maxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposalsIds", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumMembersForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumTokensLockedForProposalCreation", - "type": "uint256" - } - ], - "name": "setConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "setSignedVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "setVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "signedVotes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenVault", - "outputs": [ - { - "internalType": "contract TokenVault", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tokensLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "voteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "votingPowerOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "withdrawTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50613da7806100206000396000f3fe6080604052600436106103255760003560e01c80635bc789d9116101ae578063ae619234116100eb578063e04503531161008f578063f4732da61161006c578063f4732da614610954578063f98606a714610969578063fc0c546a1461097f578063fc4e703f1461099f57005b8063e0450353146108e9578063e158080a146108ff578063f09951981461091557005b8063b7c15f8d116100c8578063b7c15f8d1461088a578063bcc3f3bd1461089f578063c0a4d64d146108bf578063c93e01e3146108d457005b8063ae61923414610835578063b3929aaa1461084a578063b3b470611461086a57005b806389c98c0611610152578063a16fe3421161012f578063a16fe342146107d6578063a78d80fc146107f4578063a7aeb5571461080a578063ad6c1e341461082057005b806389c98c061461078c5780638f180305146107a157806392b71654146107b657005b80636c8b72f61161018b5780636c8b72f6146107125780636e27d8891461072757806377027ff4146107475780638029eff11461075c57005b80635bc789d9146106c75780635e508c2c146106e757806364fe6ed2146106fd57005b80632229a0e21161027c57806332ed5b12116102205780633f10cf15116101fd5780633f10cf1514610650578063430694cf1461066657806354f2f7af1461069357806356891412146106b157005b806332ed5b12146105f25780633bf353fb146106245780633de39c111461063a57005b80632d5b17de116102595780632d5b17de146105395780632d757c3e146105595780632fd99c0014610592578063315a095d146105d257005b80632229a0e2146104e85780632467ef94146104fd57806325c069fc1461051257005b8063130485fe116102e357806317d7de7c116102c057806317d7de7c14610476578063184a0ae91461048b5780631a5007dd146104a157806321df0da7146104b657005b8063130485fe1461041657806313108d741461043657806316bbecde1461045657005b80623a40d01461032757806301a598a61461035257806306fdde031461039b5780630a366a63146103bd5780630d668087146103e0578063123f6d67146103f6575b005b34801561033357600080fd5b5061033c6109b5565b6040516103499190613215565b60405180910390f35b34801561035e57600080fd5b5061038661036d366004613275565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201610349565b3480156103a757600080fd5b506103b0610a0d565b60405161034991906132dd565b3480156103c957600080fd5b506103d2610a9b565b604051908152602001610349565b3480156103ec57600080fd5b506103d2600d5481565b34801561040257600080fd5b506103256104113660046132f0565b610ac3565b34801561042257600080fd5b50610386610431366004613358565b610d44565b34801561044257600080fd5b506103d26104513660046135c8565b610d76565b34801561046257600080fd5b506103256104713660046136a2565b61132c565b34801561048257600080fd5b506103b0611462565b34801561049757600080fd5b506103d260035481565b3480156104ad57600080fd5b50600a546103d2565b3480156104c257600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610349565b3480156104f457600080fd5b506016546103d2565b34801561050957600080fd5b50600c546103d2565b34801561051e57600080fd5b50610527600a81565b60405160ff9091168152602001610349565b34801561054557600080fd5b506103256105543660046136ce565b6114eb565b34801561056557600080fd5b506103d2610574366004613275565b6001600160a01b031660009081526012602052604090206001015490565b34801561059e57600080fd5b506105c26105ad366004613739565b60136020526000908152604090205460ff1681565b6040519015158152602001610349565b3480156105de57600080fd5b506103256105ed366004613739565b61179b565b3480156105fe57600080fd5b5061061261060d366004613739565b6119e3565b6040516103499695949392919061378a565b34801561063057600080fd5b506103d2600c5481565b34801561064657600080fd5b506103d260085481565b34801561065c57600080fd5b506103d260045481565b34801561067257600080fd5b50610686610681366004613739565b611b37565b60405161034991906138b0565b34801561069f57600080fd5b506011546001600160a01b03166104d0565b3480156106bd57600080fd5b506103d2600e5481565b3480156106d357600080fd5b506011546104d0906001600160a01b031681565b3480156106f357600080fd5b506103d260055481565b34801561070957600080fd5b506010546103d2565b34801561071e57600080fd5b506007546103d2565b34801561073357600080fd5b50610325610742366004613739565b611ec2565b34801561075357600080fd5b506009546103d2565b34801561076857600080fd5b506105c2610777366004613739565b60009081526013602052604090205460ff1690565b34801561079857600080fd5b506008546103d2565b3480156107ad57600080fd5b50600b546103d2565b3480156107c257600080fd5b506103d26107d13660046139ae565b612042565b3480156107e257600080fd5b506001546001600160a01b03166104d0565b34801561080057600080fd5b506103d2600a5481565b34801561081657600080fd5b506103d2600f5481565b34801561082c57600080fd5b50600f546103d2565b34801561084157600080fd5b506103d2612099565b34801561085657600080fd5b506103d2610865366004613739565b6120b0565b34801561087657600080fd5b50610325610885366004613739565b6120d1565b34801561089657600080fd5b506004546103d2565b3480156108ab57600080fd5b506103d26108ba366004613275565b6129a7565b3480156108cb57600080fd5b50600d546103d2565b3480156108e057600080fd5b506003546103d2565b3480156108f557600080fd5b506103d260095481565b34801561090b57600080fd5b506103d260105481565b34801561092157600080fd5b50610386610930366004613358565b60146020908152600092835260408084209091529082529020805460019091015482565b34801561096057600080fd5b50600e546103d2565b34801561097557600080fd5b506103d260065481565b34801561098b57600080fd5b506000546104d0906001600160a01b031681565b3480156109ab57600080fd5b506103d260075481565b60606016805480602002602001604051908101604052809291908181526020018280548015610a0357602002820191906000526020600020905b8154815260200190600101908083116109ef575b5050505050905090565b60028054610a1a906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a46906139e7565b8015610a935780601f10610a6857610100808354040283529160200191610a93565b820191906000526020600020905b815481529060010190602001808311610a7657829003601f168201915b505050505081565b6000610abe612710610ab8600654610ab2600e5490565b906129c2565b906129d5565b905090565b333014610b485760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a11610bb05760405162461bcd60e51b815260206004820152602f60248201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60448201526e0206265206d6f7265207468616e203608c1b6064820152608401610b3f565b89831015610c265760405162461bcd60e51b815260206004820152603e60248201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860448201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d6500006064820152608401610b3f565b60008811610c9c5760405162461bcd60e51b815260206004820152603c60248201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560448201527f637574696f6e2068617320746f206265206d6f7265207468616e2030000000006064820152608401610b3f565b6201c908861115610d155760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e20313137303030000000000000006064820152608401610b3f565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e541015610df25760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c000000000000006064820152608401610b3f565b600f54600b541015610e625760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b6064820152608401610b3f565b600954600c5410610ed45760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b6064820152608401610b3f565b610edc610a9b565b610ee5336129a7565b1015610f515760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b6064820152608401610b3f565b85518751148015610f63575084518751145b610fcc5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b6064820152608401610b3f565b60008751116110375760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b6064820152608401610b3f565b865184111580156110515750845161104f90856129e1565b155b6110c35760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e6774680000000000000000006064820152608401610b3f565b600a84111561113a5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c20726561636865640000000000006064820152608401610b3f565b600a546040516bffffffffffffffffffffffff193360601b166020820152426034820152605481019190915260009060740160405160208183030381529060405280519060200120905061119a6001600a546129ed90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546111d091906129ed565b600282015588516111ea90600383019060208c0190612fd0565b50875161120090600483019060208b0190613035565b50865161121690600583019060208a019061308e565b50845161122c90600683019060208801906130c9565b50835161124290600783019060208701906130c9565b5061124e8660016129ed565b67ffffffffffffffff81111561126657611266613384565b60405190808252806020026020018201604052801561128f578160200160208202803683370190505b5080516112a691600984019160209091019061308e565b5060088101805460ff19166001908117909155600c546112c5916129ed565b600c5581600080516020613d52833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b600083815260156020526040902060020154421061135c5760405162461bcd60e51b8152600401610b3f90613a22565b80611366336129a7565b1015801561138f5750600083815260146020908152604080832033845290915290206001015481115b6113ab5760405162461bcd60e51b8152600401610b3f90613a6d565b60008381526014602090815260408083203384529091529020541580156113ec57506000838152601460209081526040808320338452909152902060010154155b8061143557506000838152601460209081526040808320338452909152902054821480156114355750600083815260146020908152604080832033845290915290206001015481115b6114515760405162461bcd60e51b8152600401610b3f90613ab3565b61145d338484846129f9565b505050565b606060028054611471906139e7565b80601f016020809104026020016040519081016040528092919081815260200182805461149d906139e7565b8015610a035780601f106114bf57610100808354040283529160200191610a03565b820191906000526020600020905b8154815290600101906020018083116114cd57509395945050505050565b600085815260156020526040902060020154421061151b5760405162461bcd60e51b8152600401610b3f90613a22565b600061152983878787612042565b60008181526013602052604090205490915060ff161561158b5760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f746564000000000000006044820152606401610b3f565b6115ec826115e6836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90612c43565b6001600160a01b0316836001600160a01b03161461164c5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e657200000000000000006044820152606401610b3f565b6000818152601360205260409020805460ff191660011790558361166f846129a7565b101580156116a1575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6116bd5760405162461bcd60e51b8152600401610b3f90613a6d565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015611710575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8061176b575060008681526014602090815260408083206001600160a01b03871684529091529020548514801561176b575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6117875760405162461bcd60e51b8152600401610b3f90613ab3565b611793838787876129f9565b505050505050565b806117a5336129a7565b10156118125760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b6064820152608401610b3f565b3360009081526012602052604090206001015442116118735760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b6564006044820152606401610b3f565b600081116118e95760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e2030006064820152608401610b3f565b336000908152601260205260409020546119039082612c67565b33600090815260126020526040902055600e546119209082612c67565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801561196f57600080fd5b505af1158015611983573d6000803e3d6000fd5b50505050611990336129a7565b6119a657600b546119a2906001612c67565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b03909416949293919291611a1d906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611a49906139e7565b8015611a965780601f10611a6b57610100808354040283529160200191611a96565b820191906000526020600020905b815481529060010190602001808311611a7957829003601f168201915b505050505090806007018054611aab906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad7906139e7565b8015611b245780601f10611af957610100808354040283529160200191611b24565b820191906000526020600020905b815481529060010190602001808311611b0757829003601f168201915b5050506008909301549192505060ff1686565b611b3f61313c565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015611bd257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611bb4575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015611cac578382906000526020600020018054611c1f906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4b906139e7565b8015611c985780601f10611c6d57610100808354040283529160200191611c98565b820191906000526020600020905b815481529060010190602001808311611c7b57829003601f168201915b505050505081526020019060010190611c00565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015611d0357602002820191906000526020600020905b815481526020019060010190808311611cef575b50505050508152602001600682018054611d1c906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611d48906139e7565b8015611d955780601f10611d6a57610100808354040283529160200191611d95565b820191906000526020600020905b815481529060010190602001808311611d7857829003601f168201915b50505050508152602001600782018054611dae906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611dda906139e7565b8015611e275780601f10611dfc57610100808354040283529160200191611e27565b820191906000526020600020905b815481529060010190602001808311611e0a57829003601f168201915b5050509183525050600882015460209091019060ff166004811115611e4e57611e4e613752565b6004811115611e5f57611e5f613752565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015611eb257602002820191906000526020600020905b815481526020019060010190808311611e9e575b5050505050815250509050919050565b60008111611f2d5760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b6064820152608401610b3f565b611f36336129a7565b611f4c57600b54611f489060016129ed565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b158015611f9857600080fd5b505af1158015611fac573d6000803e3d6000fd5b505033600090815260126020526040902054611fcb92509050826129ed565b33600090815260126020526040902055600d54611fe99042906129ed565b33600090815260126020526040902060010155600e5461200990826129ed565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c91016119d8565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b6000610abe612710610ab8600554610ab2600e5490565b601681815481106120c057600080fd5b600091825260209091200154905081565b60175460ff16156121305760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b6064820152608401610b3f565b600160008281526015602052604090206008015460ff16600481111561215857612158613752565b146121b35760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b6064820152608401610b3f565b60008181526015602052604090206002015442116122215760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b6064820152608401610b3f565b60008181526015602052604081206009018054829190829061224557612245613b1a565b600091825260209091200154905060015b60008481526015602052604090206009015481101561236f57612277612099565b600085815260156020526040902060090180548390811061229a5761229a613b1a565b9060005260206000200154101580156122e2575060008481526015602052604090206009018054839190839081106122d4576122d4613b1a565b906000526020600020015410155b1561235d57600084815260156020526040902060090180548391908390811061230d5761230d613b1a565b90600052602060002001541415612327576000925061235d565b6000848152601560205260409020600901805491935083918290811061234f5761234f613b1a565b906000526020600020015491505b8061236781613b46565b915050612256565b826123bc576000848152601560205260409020600801805460ff191660029081179091558490600080516020613d52833981519152905b60405190815260200160405180910390a2612990565b60045460008581526015602052604090206002015442916123dd91906129ed565b1015612419576000848152601560205260409020600801805460ff191660049081179091558490600080516020613d52833981519152906123a6565b600084815260156020526040812060088101805460ff191660031790556009015461246190612449906001612c67565b600087815260156020526040902060030154906129d5565b9050612478612471856001612c67565b82906129c2565b9150600061248683836129ed565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156124d857600080fd5b505af11580156124ec573d6000803e3d6000fd5b505050505b808310156128ec57600086815260156020526040812060030180548590811061251c5761251c613b1a565b6000918252602090912001546001600160a01b0316148015906125765750600086815260156020526040812060040180548590811061255d5761255d613b1a565b906000526020600020018054612572906139e7565b9050115b156128da57600086815260156020526040812060040180548590811061259e5761259e613b1a565b9060005260206000200180546125b3906139e7565b80601f01602080910402602001604051908101604052809291908181526020018280546125df906139e7565b801561262c5780601f106126015761010080835404028352916020019161262c565b820191906000526020600020905b81548152906001019060200180831161260f57829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811061267757612677613b1a565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a815481106126bd576126bd613b1a565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801561272157600080fd5b505af1925050508015612732575060015b6127845761273e613b61565b806308c379a014156127785750612753613b7d565b8061275e575061277a565b8060405162461bcd60e51b8152600401610b3f91906132dd565b505b3d6000803e3d6000fd5b6017805460ff1916600117905560008881526015602052604081206003018054879081106127b4576127b4613b1a565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b0390921691889081106127f0576127f0613b1a565b9060005260206000200154601560008c8152602001908152602001600020600401888154811061282257612822613b1a565b906000526020600020016040516128399190613c07565b60006040518083038185875af1925050503d8060008114612876576040519150601f19603f3d011682016040523d82523d6000602084013e61287b565b606091505b50509050806128cc5760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c65646044820152606401610b3f565b50506017805460ff19169055505b826128e481613b46565b9350506124f1565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801561293157600080fd5b505af1158015612945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129699190613ca3565b5085600080516020613d52833981519152600360405190815260200160405180910390a250505b600c5461299e906001612c67565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b60006129ce8284613cc5565b9392505050565b60006129ce8284613cfa565b60006129ce8284613d0e565b60006129ce8284613d22565b60008381526014602090815260408083206001600160a01b038816845282528083206001015486845260159092529091206009018054612a68928492612a629287908110612a4957612a49613b1a565b9060005260206000200154612c6790919063ffffffff16565b906129ed565b6000848152601560205260409020600901805484908110612a8b57612a8b613b1a565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154612af1856001600160a01b031660009081526012602052604090206001015490565b1015612b25576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a360075415612c3d576000612b96612b8d6008543a612c7390919063ffffffff16565b600754906129c2565b9050804710158015612ba75750333b155b15612c3b57604051600090339083908381818185875af1925050503d8060008114612bee576040519150601f19603f3d011682016040523d82523d6000602084013e612bf3565b606091505b50509050806117935760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b6044820152606401610b3f565b505b50505050565b6000806000612c528585612c89565b91509150612c5f81612cf6565b509392505050565b60006129ce8284613d3a565b6000818310612c8257816129ce565b5090919050565b600080825160411415612cc05760208301516040840151606085015160001a612cb487828585612eb4565b94509450505050610d6f565b825160401415612cea5760208301516040840151612cdf868383612fa1565b935093505050610d6f565b50600090506002610d6f565b6000816004811115612d0a57612d0a613752565b1415612d135750565b6001816004811115612d2757612d27613752565b1415612d755760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610b3f565b6002816004811115612d8957612d89613752565b1415612dd75760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b3f565b6003816004811115612deb57612deb613752565b1415612e445760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b3f565b6004816004811115612e5857612e58613752565b1415612eb15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610b3f565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612eeb5750600090506003612f98565b8460ff16601b14158015612f0357508460ff16601c14155b15612f145750600090506004612f98565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612f68573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612f9157600060019250925050612f98565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01612fc287828885612eb4565b935093505050935093915050565b828054828255906000526020600020908101928215613025579160200282015b8281111561302557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612ff0565b506130319291506131a9565b5090565b828054828255906000526020600020908101928215613082579160200282015b8281111561308257825180516130729184916020909101906130c9565b5091602001919060010190613055565b506130319291506131be565b828054828255906000526020600020908101928215613025579160200282015b828111156130255782518255916020019190600101906130ae565b8280546130d5906139e7565b90600052602060002090601f0160209004810192826130f75760008555613025565b82601f1061311057805160ff1916838001178555613025565b8280016001018555821561302557918201828111156130255782518255916020019190600101906130ae565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111561319c5761319c613752565b8152602001606081525090565b5b8082111561303157600081556001016131aa565b808211156130315760006131d282826131db565b506001016131be565b5080546131e7906139e7565b6000825580601f106131f7575050565b601f016020900490600052602060002090810190612eb191906131a9565b6020808252825182820181905260009190848201906040850190845b8181101561324d57835183529284019291840191600101613231565b50909695505050505050565b80356001600160a01b038116811461327057600080fd5b919050565b60006020828403121561328757600080fd5b6129ce82613259565b6000815180845260005b818110156132b65760208185018101518683018201520161329a565b818111156132c8576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006129ce6020830184613290565b6000806000806000806000806000806101408b8d03121561331057600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121561336b57600080fd5b8235915061337b60208401613259565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156133c0576133c0613384565b6040525050565b600067ffffffffffffffff8211156133e1576133e1613384565b5060051b60200190565b600082601f8301126133fc57600080fd5b81356020613409826133c7565b604051613416828261339a565b83815260059390931b850182019282810191508684111561343657600080fd5b8286015b848110156134585761344b81613259565b835291830191830161343a565b509695505050505050565b600082601f83011261347457600080fd5b813567ffffffffffffffff81111561348e5761348e613384565b6040516134a5601f8301601f19166020018261339a565b8181528460208386010111156134ba57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126134e857600080fd5b813560206134f5826133c7565b604051613502828261339a565b83815260059390931b850182019282810191508684111561352257600080fd5b8286015b8481101561345857803567ffffffffffffffff8111156135465760008081fd5b6135548986838b0101613463565b845250918301918301613526565b600082601f83011261357357600080fd5b81356020613580826133c7565b60405161358d828261339a565b83815260059390931b85018201928281019150868411156135ad57600080fd5b8286015b8481101561345857803583529183019183016135b1565b60008060008060008060c087890312156135e157600080fd5b863567ffffffffffffffff808211156135f957600080fd5b6136058a838b016133eb565b9750602089013591508082111561361b57600080fd5b6136278a838b016134d7565b9650604089013591508082111561363d57600080fd5b6136498a838b01613562565b955060608901359450608089013591508082111561366657600080fd5b6136728a838b01613463565b935060a089013591508082111561368857600080fd5b5061369589828a01613463565b9150509295509295509295565b6000806000606084860312156136b757600080fd5b505081359360208301359350604090920135919050565b600080600080600060a086880312156136e657600080fd5b85359450602086013593506040860135925061370460608701613259565b9150608086013567ffffffffffffffff81111561372057600080fd5b61372c88828901613463565b9150509295509295909350565b60006020828403121561374b57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061378657634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006137b760c0830186613290565b82810360808401526137c98186613290565b9150506137d960a0830184613768565b979650505050505050565b600081518084526020808501945080840160005b8381101561381d5781516001600160a01b0316875295820195908201906001016137f8565b509495945050505050565b600082825180855260208086019550808260051b84010181860160005b8481101561387357601f19868403018952613861838351613290565b98840198925090830190600101613845565b5090979650505050505050565b600081518084526020808501945080840160005b8381101561381d57815187529582019590820190600101613894565b602081526138ca6020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526138fc6101608501836137e4565b91506080850151601f19808685030160a087015261391a8483613828565b935060a08701519150808685030160c08701526139378483613880565b935060c08701519150808685030160e08701526139548483613290565b935060e087015191506101008187860301818801526139738584613290565b94508088015192505061012061398b81880184613768565b8701518685039091018387015290506139a48382613880565b9695505050505050565b600080600080608085870312156139c457600080fd5b6139cd85613259565b966020860135965060408601359560600135945092505050565b600181811c908216806139fb57607f821691505b60208210811415613a1c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415613b5a57613b5a613b30565b5060010190565b600060033d1115613b7a5760046000803e5060005160e01c5b90565b600060443d1015613b8b5790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715613bbb57505050505090565b8285019150815181811115613bd35750505050505090565b843d8701016020828501011115613bed5750505050505090565b613bfc6020828601018761339a565b509095945050505050565b600080835481600182811c915080831680613c2357607f831692505b6020808410821415613c4357634e487b7160e01b86526022600452602486fd5b818015613c575760018114613c6857613c95565b60ff19861689528489019650613c95565b60008a81526020902060005b86811015613c8d5781548b820152908501908301613c74565b505084890196505b509498975050505050505050565b600060208284031215613cb557600080fd5b815180151581146129ce57600080fd5b6000816000190483118215151615613cdf57613cdf613b30565b500290565b634e487b7160e01b600052601260045260246000fd5b600082613d0957613d09613ce4565b500490565b600082613d1d57613d1d613ce4565b500690565b60008219821115613d3557613d35613b30565b500190565b600082821015613d4c57613d4c613b30565b50039056fefee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212205c0a817d5a43458b18b08c1a73dd1e5bd746594bba80c83e109a6de1686a2e3664736f6c63430008080033", - "deployedBytecode": "0x6080604052600436106103255760003560e01c80635bc789d9116101ae578063ae619234116100eb578063e04503531161008f578063f4732da61161006c578063f4732da614610954578063f98606a714610969578063fc0c546a1461097f578063fc4e703f1461099f57005b8063e0450353146108e9578063e158080a146108ff578063f09951981461091557005b8063b7c15f8d116100c8578063b7c15f8d1461088a578063bcc3f3bd1461089f578063c0a4d64d146108bf578063c93e01e3146108d457005b8063ae61923414610835578063b3929aaa1461084a578063b3b470611461086a57005b806389c98c0611610152578063a16fe3421161012f578063a16fe342146107d6578063a78d80fc146107f4578063a7aeb5571461080a578063ad6c1e341461082057005b806389c98c061461078c5780638f180305146107a157806392b71654146107b657005b80636c8b72f61161018b5780636c8b72f6146107125780636e27d8891461072757806377027ff4146107475780638029eff11461075c57005b80635bc789d9146106c75780635e508c2c146106e757806364fe6ed2146106fd57005b80632229a0e21161027c57806332ed5b12116102205780633f10cf15116101fd5780633f10cf1514610650578063430694cf1461066657806354f2f7af1461069357806356891412146106b157005b806332ed5b12146105f25780633bf353fb146106245780633de39c111461063a57005b80632d5b17de116102595780632d5b17de146105395780632d757c3e146105595780632fd99c0014610592578063315a095d146105d257005b80632229a0e2146104e85780632467ef94146104fd57806325c069fc1461051257005b8063130485fe116102e357806317d7de7c116102c057806317d7de7c14610476578063184a0ae91461048b5780631a5007dd146104a157806321df0da7146104b657005b8063130485fe1461041657806313108d741461043657806316bbecde1461045657005b80623a40d01461032757806301a598a61461035257806306fdde031461039b5780630a366a63146103bd5780630d668087146103e0578063123f6d67146103f6575b005b34801561033357600080fd5b5061033c6109b5565b6040516103499190613215565b60405180910390f35b34801561035e57600080fd5b5061038661036d366004613275565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201610349565b3480156103a757600080fd5b506103b0610a0d565b60405161034991906132dd565b3480156103c957600080fd5b506103d2610a9b565b604051908152602001610349565b3480156103ec57600080fd5b506103d2600d5481565b34801561040257600080fd5b506103256104113660046132f0565b610ac3565b34801561042257600080fd5b50610386610431366004613358565b610d44565b34801561044257600080fd5b506103d26104513660046135c8565b610d76565b34801561046257600080fd5b506103256104713660046136a2565b61132c565b34801561048257600080fd5b506103b0611462565b34801561049757600080fd5b506103d260035481565b3480156104ad57600080fd5b50600a546103d2565b3480156104c257600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610349565b3480156104f457600080fd5b506016546103d2565b34801561050957600080fd5b50600c546103d2565b34801561051e57600080fd5b50610527600a81565b60405160ff9091168152602001610349565b34801561054557600080fd5b506103256105543660046136ce565b6114eb565b34801561056557600080fd5b506103d2610574366004613275565b6001600160a01b031660009081526012602052604090206001015490565b34801561059e57600080fd5b506105c26105ad366004613739565b60136020526000908152604090205460ff1681565b6040519015158152602001610349565b3480156105de57600080fd5b506103256105ed366004613739565b61179b565b3480156105fe57600080fd5b5061061261060d366004613739565b6119e3565b6040516103499695949392919061378a565b34801561063057600080fd5b506103d2600c5481565b34801561064657600080fd5b506103d260085481565b34801561065c57600080fd5b506103d260045481565b34801561067257600080fd5b50610686610681366004613739565b611b37565b60405161034991906138b0565b34801561069f57600080fd5b506011546001600160a01b03166104d0565b3480156106bd57600080fd5b506103d2600e5481565b3480156106d357600080fd5b506011546104d0906001600160a01b031681565b3480156106f357600080fd5b506103d260055481565b34801561070957600080fd5b506010546103d2565b34801561071e57600080fd5b506007546103d2565b34801561073357600080fd5b50610325610742366004613739565b611ec2565b34801561075357600080fd5b506009546103d2565b34801561076857600080fd5b506105c2610777366004613739565b60009081526013602052604090205460ff1690565b34801561079857600080fd5b506008546103d2565b3480156107ad57600080fd5b50600b546103d2565b3480156107c257600080fd5b506103d26107d13660046139ae565b612042565b3480156107e257600080fd5b506001546001600160a01b03166104d0565b34801561080057600080fd5b506103d2600a5481565b34801561081657600080fd5b506103d2600f5481565b34801561082c57600080fd5b50600f546103d2565b34801561084157600080fd5b506103d2612099565b34801561085657600080fd5b506103d2610865366004613739565b6120b0565b34801561087657600080fd5b50610325610885366004613739565b6120d1565b34801561089657600080fd5b506004546103d2565b3480156108ab57600080fd5b506103d26108ba366004613275565b6129a7565b3480156108cb57600080fd5b50600d546103d2565b3480156108e057600080fd5b506003546103d2565b3480156108f557600080fd5b506103d260095481565b34801561090b57600080fd5b506103d260105481565b34801561092157600080fd5b50610386610930366004613358565b60146020908152600092835260408084209091529082529020805460019091015482565b34801561096057600080fd5b50600e546103d2565b34801561097557600080fd5b506103d260065481565b34801561098b57600080fd5b506000546104d0906001600160a01b031681565b3480156109ab57600080fd5b506103d260075481565b60606016805480602002602001604051908101604052809291908181526020018280548015610a0357602002820191906000526020600020905b8154815260200190600101908083116109ef575b5050505050905090565b60028054610a1a906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a46906139e7565b8015610a935780601f10610a6857610100808354040283529160200191610a93565b820191906000526020600020905b815481529060010190602001808311610a7657829003601f168201915b505050505081565b6000610abe612710610ab8600654610ab2600e5490565b906129c2565b906129d5565b905090565b333014610b485760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a11610bb05760405162461bcd60e51b815260206004820152602f60248201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60448201526e0206265206d6f7265207468616e203608c1b6064820152608401610b3f565b89831015610c265760405162461bcd60e51b815260206004820152603e60248201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860448201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d6500006064820152608401610b3f565b60008811610c9c5760405162461bcd60e51b815260206004820152603c60248201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560448201527f637574696f6e2068617320746f206265206d6f7265207468616e2030000000006064820152608401610b3f565b6201c908861115610d155760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e20313137303030000000000000006064820152608401610b3f565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e541015610df25760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c000000000000006064820152608401610b3f565b600f54600b541015610e625760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b6064820152608401610b3f565b600954600c5410610ed45760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b6064820152608401610b3f565b610edc610a9b565b610ee5336129a7565b1015610f515760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b6064820152608401610b3f565b85518751148015610f63575084518751145b610fcc5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b6064820152608401610b3f565b60008751116110375760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b6064820152608401610b3f565b865184111580156110515750845161104f90856129e1565b155b6110c35760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e6774680000000000000000006064820152608401610b3f565b600a84111561113a5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c20726561636865640000000000006064820152608401610b3f565b600a546040516bffffffffffffffffffffffff193360601b166020820152426034820152605481019190915260009060740160405160208183030381529060405280519060200120905061119a6001600a546129ed90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546111d091906129ed565b600282015588516111ea90600383019060208c0190612fd0565b50875161120090600483019060208b0190613035565b50865161121690600583019060208a019061308e565b50845161122c90600683019060208801906130c9565b50835161124290600783019060208701906130c9565b5061124e8660016129ed565b67ffffffffffffffff81111561126657611266613384565b60405190808252806020026020018201604052801561128f578160200160208202803683370190505b5080516112a691600984019160209091019061308e565b5060088101805460ff19166001908117909155600c546112c5916129ed565b600c5581600080516020613d52833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b600083815260156020526040902060020154421061135c5760405162461bcd60e51b8152600401610b3f90613a22565b80611366336129a7565b1015801561138f5750600083815260146020908152604080832033845290915290206001015481115b6113ab5760405162461bcd60e51b8152600401610b3f90613a6d565b60008381526014602090815260408083203384529091529020541580156113ec57506000838152601460209081526040808320338452909152902060010154155b8061143557506000838152601460209081526040808320338452909152902054821480156114355750600083815260146020908152604080832033845290915290206001015481115b6114515760405162461bcd60e51b8152600401610b3f90613ab3565b61145d338484846129f9565b505050565b606060028054611471906139e7565b80601f016020809104026020016040519081016040528092919081815260200182805461149d906139e7565b8015610a035780601f106114bf57610100808354040283529160200191610a03565b820191906000526020600020905b8154815290600101906020018083116114cd57509395945050505050565b600085815260156020526040902060020154421061151b5760405162461bcd60e51b8152600401610b3f90613a22565b600061152983878787612042565b60008181526013602052604090205490915060ff161561158b5760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f746564000000000000006044820152606401610b3f565b6115ec826115e6836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90612c43565b6001600160a01b0316836001600160a01b03161461164c5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e657200000000000000006044820152606401610b3f565b6000818152601360205260409020805460ff191660011790558361166f846129a7565b101580156116a1575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6116bd5760405162461bcd60e51b8152600401610b3f90613a6d565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015611710575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8061176b575060008681526014602090815260408083206001600160a01b03871684529091529020548514801561176b575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6117875760405162461bcd60e51b8152600401610b3f90613ab3565b611793838787876129f9565b505050505050565b806117a5336129a7565b10156118125760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b6064820152608401610b3f565b3360009081526012602052604090206001015442116118735760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b6564006044820152606401610b3f565b600081116118e95760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e2030006064820152608401610b3f565b336000908152601260205260409020546119039082612c67565b33600090815260126020526040902055600e546119209082612c67565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801561196f57600080fd5b505af1158015611983573d6000803e3d6000fd5b50505050611990336129a7565b6119a657600b546119a2906001612c67565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b03909416949293919291611a1d906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611a49906139e7565b8015611a965780601f10611a6b57610100808354040283529160200191611a96565b820191906000526020600020905b815481529060010190602001808311611a7957829003601f168201915b505050505090806007018054611aab906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad7906139e7565b8015611b245780601f10611af957610100808354040283529160200191611b24565b820191906000526020600020905b815481529060010190602001808311611b0757829003601f168201915b5050506008909301549192505060ff1686565b611b3f61313c565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015611bd257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611bb4575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015611cac578382906000526020600020018054611c1f906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4b906139e7565b8015611c985780601f10611c6d57610100808354040283529160200191611c98565b820191906000526020600020905b815481529060010190602001808311611c7b57829003601f168201915b505050505081526020019060010190611c00565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015611d0357602002820191906000526020600020905b815481526020019060010190808311611cef575b50505050508152602001600682018054611d1c906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611d48906139e7565b8015611d955780601f10611d6a57610100808354040283529160200191611d95565b820191906000526020600020905b815481529060010190602001808311611d7857829003601f168201915b50505050508152602001600782018054611dae906139e7565b80601f0160208091040260200160405190810160405280929190818152602001828054611dda906139e7565b8015611e275780601f10611dfc57610100808354040283529160200191611e27565b820191906000526020600020905b815481529060010190602001808311611e0a57829003601f168201915b5050509183525050600882015460209091019060ff166004811115611e4e57611e4e613752565b6004811115611e5f57611e5f613752565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015611eb257602002820191906000526020600020905b815481526020019060010190808311611e9e575b5050505050815250509050919050565b60008111611f2d5760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b6064820152608401610b3f565b611f36336129a7565b611f4c57600b54611f489060016129ed565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b158015611f9857600080fd5b505af1158015611fac573d6000803e3d6000fd5b505033600090815260126020526040902054611fcb92509050826129ed565b33600090815260126020526040902055600d54611fe99042906129ed565b33600090815260126020526040902060010155600e5461200990826129ed565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c91016119d8565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b6000610abe612710610ab8600554610ab2600e5490565b601681815481106120c057600080fd5b600091825260209091200154905081565b60175460ff16156121305760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b6064820152608401610b3f565b600160008281526015602052604090206008015460ff16600481111561215857612158613752565b146121b35760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b6064820152608401610b3f565b60008181526015602052604090206002015442116122215760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b6064820152608401610b3f565b60008181526015602052604081206009018054829190829061224557612245613b1a565b600091825260209091200154905060015b60008481526015602052604090206009015481101561236f57612277612099565b600085815260156020526040902060090180548390811061229a5761229a613b1a565b9060005260206000200154101580156122e2575060008481526015602052604090206009018054839190839081106122d4576122d4613b1a565b906000526020600020015410155b1561235d57600084815260156020526040902060090180548391908390811061230d5761230d613b1a565b90600052602060002001541415612327576000925061235d565b6000848152601560205260409020600901805491935083918290811061234f5761234f613b1a565b906000526020600020015491505b8061236781613b46565b915050612256565b826123bc576000848152601560205260409020600801805460ff191660029081179091558490600080516020613d52833981519152905b60405190815260200160405180910390a2612990565b60045460008581526015602052604090206002015442916123dd91906129ed565b1015612419576000848152601560205260409020600801805460ff191660049081179091558490600080516020613d52833981519152906123a6565b600084815260156020526040812060088101805460ff191660031790556009015461246190612449906001612c67565b600087815260156020526040902060030154906129d5565b9050612478612471856001612c67565b82906129c2565b9150600061248683836129ed565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156124d857600080fd5b505af11580156124ec573d6000803e3d6000fd5b505050505b808310156128ec57600086815260156020526040812060030180548590811061251c5761251c613b1a565b6000918252602090912001546001600160a01b0316148015906125765750600086815260156020526040812060040180548590811061255d5761255d613b1a565b906000526020600020018054612572906139e7565b9050115b156128da57600086815260156020526040812060040180548590811061259e5761259e613b1a565b9060005260206000200180546125b3906139e7565b80601f01602080910402602001604051908101604052809291908181526020018280546125df906139e7565b801561262c5780601f106126015761010080835404028352916020019161262c565b820191906000526020600020905b81548152906001019060200180831161260f57829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811061267757612677613b1a565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a815481106126bd576126bd613b1a565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801561272157600080fd5b505af1925050508015612732575060015b6127845761273e613b61565b806308c379a014156127785750612753613b7d565b8061275e575061277a565b8060405162461bcd60e51b8152600401610b3f91906132dd565b505b3d6000803e3d6000fd5b6017805460ff1916600117905560008881526015602052604081206003018054879081106127b4576127b4613b1a565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b0390921691889081106127f0576127f0613b1a565b9060005260206000200154601560008c8152602001908152602001600020600401888154811061282257612822613b1a565b906000526020600020016040516128399190613c07565b60006040518083038185875af1925050503d8060008114612876576040519150601f19603f3d011682016040523d82523d6000602084013e61287b565b606091505b50509050806128cc5760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c65646044820152606401610b3f565b50506017805460ff19169055505b826128e481613b46565b9350506124f1565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801561293157600080fd5b505af1158015612945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129699190613ca3565b5085600080516020613d52833981519152600360405190815260200160405180910390a250505b600c5461299e906001612c67565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b60006129ce8284613cc5565b9392505050565b60006129ce8284613cfa565b60006129ce8284613d0e565b60006129ce8284613d22565b60008381526014602090815260408083206001600160a01b038816845282528083206001015486845260159092529091206009018054612a68928492612a629287908110612a4957612a49613b1a565b9060005260206000200154612c6790919063ffffffff16565b906129ed565b6000848152601560205260409020600901805484908110612a8b57612a8b613b1a565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154612af1856001600160a01b031660009081526012602052604090206001015490565b1015612b25576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a360075415612c3d576000612b96612b8d6008543a612c7390919063ffffffff16565b600754906129c2565b9050804710158015612ba75750333b155b15612c3b57604051600090339083908381818185875af1925050503d8060008114612bee576040519150601f19603f3d011682016040523d82523d6000602084013e612bf3565b606091505b50509050806117935760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b6044820152606401610b3f565b505b50505050565b6000806000612c528585612c89565b91509150612c5f81612cf6565b509392505050565b60006129ce8284613d3a565b6000818310612c8257816129ce565b5090919050565b600080825160411415612cc05760208301516040840151606085015160001a612cb487828585612eb4565b94509450505050610d6f565b825160401415612cea5760208301516040840151612cdf868383612fa1565b935093505050610d6f565b50600090506002610d6f565b6000816004811115612d0a57612d0a613752565b1415612d135750565b6001816004811115612d2757612d27613752565b1415612d755760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610b3f565b6002816004811115612d8957612d89613752565b1415612dd75760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610b3f565b6003816004811115612deb57612deb613752565b1415612e445760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610b3f565b6004816004811115612e5857612e58613752565b1415612eb15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610b3f565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612eeb5750600090506003612f98565b8460ff16601b14158015612f0357508460ff16601c14155b15612f145750600090506004612f98565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612f68573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612f9157600060019250925050612f98565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01612fc287828885612eb4565b935093505050935093915050565b828054828255906000526020600020908101928215613025579160200282015b8281111561302557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612ff0565b506130319291506131a9565b5090565b828054828255906000526020600020908101928215613082579160200282015b8281111561308257825180516130729184916020909101906130c9565b5091602001919060010190613055565b506130319291506131be565b828054828255906000526020600020908101928215613025579160200282015b828111156130255782518255916020019190600101906130ae565b8280546130d5906139e7565b90600052602060002090601f0160209004810192826130f75760008555613025565b82601f1061311057805160ff1916838001178555613025565b8280016001018555821561302557918201828111156130255782518255916020019190600101906130ae565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111561319c5761319c613752565b8152602001606081525090565b5b8082111561303157600081556001016131aa565b808211156130315760006131d282826131db565b506001016131be565b5080546131e7906139e7565b6000825580601f106131f7575050565b601f016020900490600052602060002090810190612eb191906131a9565b6020808252825182820181905260009190848201906040850190845b8181101561324d57835183529284019291840191600101613231565b50909695505050505050565b80356001600160a01b038116811461327057600080fd5b919050565b60006020828403121561328757600080fd5b6129ce82613259565b6000815180845260005b818110156132b65760208185018101518683018201520161329a565b818111156132c8576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006129ce6020830184613290565b6000806000806000806000806000806101408b8d03121561331057600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121561336b57600080fd5b8235915061337b60208401613259565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156133c0576133c0613384565b6040525050565b600067ffffffffffffffff8211156133e1576133e1613384565b5060051b60200190565b600082601f8301126133fc57600080fd5b81356020613409826133c7565b604051613416828261339a565b83815260059390931b850182019282810191508684111561343657600080fd5b8286015b848110156134585761344b81613259565b835291830191830161343a565b509695505050505050565b600082601f83011261347457600080fd5b813567ffffffffffffffff81111561348e5761348e613384565b6040516134a5601f8301601f19166020018261339a565b8181528460208386010111156134ba57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126134e857600080fd5b813560206134f5826133c7565b604051613502828261339a565b83815260059390931b850182019282810191508684111561352257600080fd5b8286015b8481101561345857803567ffffffffffffffff8111156135465760008081fd5b6135548986838b0101613463565b845250918301918301613526565b600082601f83011261357357600080fd5b81356020613580826133c7565b60405161358d828261339a565b83815260059390931b85018201928281019150868411156135ad57600080fd5b8286015b8481101561345857803583529183019183016135b1565b60008060008060008060c087890312156135e157600080fd5b863567ffffffffffffffff808211156135f957600080fd5b6136058a838b016133eb565b9750602089013591508082111561361b57600080fd5b6136278a838b016134d7565b9650604089013591508082111561363d57600080fd5b6136498a838b01613562565b955060608901359450608089013591508082111561366657600080fd5b6136728a838b01613463565b935060a089013591508082111561368857600080fd5b5061369589828a01613463565b9150509295509295509295565b6000806000606084860312156136b757600080fd5b505081359360208301359350604090920135919050565b600080600080600060a086880312156136e657600080fd5b85359450602086013593506040860135925061370460608701613259565b9150608086013567ffffffffffffffff81111561372057600080fd5b61372c88828901613463565b9150509295509295909350565b60006020828403121561374b57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061378657634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006137b760c0830186613290565b82810360808401526137c98186613290565b9150506137d960a0830184613768565b979650505050505050565b600081518084526020808501945080840160005b8381101561381d5781516001600160a01b0316875295820195908201906001016137f8565b509495945050505050565b600082825180855260208086019550808260051b84010181860160005b8481101561387357601f19868403018952613861838351613290565b98840198925090830190600101613845565b5090979650505050505050565b600081518084526020808501945080840160005b8381101561381d57815187529582019590820190600101613894565b602081526138ca6020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526138fc6101608501836137e4565b91506080850151601f19808685030160a087015261391a8483613828565b935060a08701519150808685030160c08701526139378483613880565b935060c08701519150808685030160e08701526139548483613290565b935060e087015191506101008187860301818801526139738584613290565b94508088015192505061012061398b81880184613768565b8701518685039091018387015290506139a48382613880565b9695505050505050565b600080600080608085870312156139c457600080fd5b6139cd85613259565b966020860135965060408601359560600135945092505050565b600181811c908216806139fb57607f821691505b60208210811415613a1c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415613b5a57613b5a613b30565b5060010190565b600060033d1115613b7a5760046000803e5060005160e01c5b90565b600060443d1015613b8b5790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715613bbb57505050505090565b8285019150815181811115613bd35750505050505090565b843d8701016020828501011115613bed5750505050505090565b613bfc6020828601018761339a565b509095945050505050565b600080835481600182811c915080831680613c2357607f831692505b6020808410821415613c4357634e487b7160e01b86526022600452602486fd5b818015613c575760018114613c6857613c95565b60ff19861689528489019650613c95565b60008a81526020902060005b86811015613c8d5781548b820152908501908301613c74565b505084890196505b509498975050505050505050565b600060208284031215613cb557600080fd5b815180151581146129ce57600080fd5b6000816000190483118215151615613cdf57613cdf613b30565b500290565b634e487b7160e01b600052601260045260246000fd5b600082613d0957613d09613ce4565b500490565b600082613d1d57613d1d613ce4565b500690565b60008219821115613d3557613d35613b30565b500190565b600082821015613d4c57613d4c613b30565b50039056fefee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212205c0a817d5a43458b18b08c1a73dd1e5bd746594bba80c83e109a6de1686a2e3664736f6c63430008080033", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "BaseERC20Guild", + "sourceName": "dxdao-contracts/contracts/erc20guild/BaseERC20Guild.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newState", + "type": "uint256" + } + ], + "name": "ProposalStateChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "VoteAdded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "MAX_OPTIONS_PER_PROPOSAL", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activeProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "totalOptions", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + } + ], + "name": "createProposal", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "endProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "executeSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "roots", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "voters", + "type": "address[]" + }, + { + "internalType": "bytes32[]", + "name": "votesHashes", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[][]", + "name": "proofs", + "type": "bytes32[][]" + }, + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeSignedVotesBatches", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeVotes", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getActiveProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getName", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPermissionRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + }, + { + "internalType": "uint256[]", + "name": "totalVotes", + "type": "uint256[]" + } + ], + "internalType": "struct BaseERC20Guild.Proposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getProposalVotesOfVoter", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIds", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIdsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "signedVoteHash", + "type": "bytes32" + } + ], + "name": "getSignedVote", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTimeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTokenVault", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalMembers", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getVoterLockTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "hashVote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "lockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "lockTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "proposalVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposalsIds", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumMembersForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumTokensLockedForProposalCreation", + "type": "uint256" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "setSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "setVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "signedVotes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "timeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20Upgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenVault", + "outputs": [ + { + "internalType": "contract TokenVault", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tokensLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "validateMerkleTreeLeaf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "voteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "votingPowerOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdrawTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50614a06806100206000396000f3fe60806040526004361061035e5760003560e01c806364fe6ed2116101c4578063ad6c1e34116100f6578063c93e01e31161009a578063f4732da61161006c578063f4732da614610a1a578063f98606a714610a2f578063fc0c546a14610a45578063fc4e703f14610a6557005b8063c93e01e31461099a578063e0450353146109af578063e158080a146109c5578063f0995198146109db57005b8063b3b47061116100d3578063b3b4706114610930578063b7c15f8d14610950578063bcc3f3bd14610965578063c0a4d64d1461098557005b8063ad6c1e34146108e6578063ae619234146108fb578063b3929aaa1461091057005b806389c98c0611610168578063a16fe3421161013a578063a16fe3421461087c578063a78d80fc1461089a578063a7aeb557146108b0578063ab6ea06b146108c657005b806389c98c06146108125780638bb8591e146108275780638f1803051461084757806392b716541461085c57005b80636e27d889116101a15780636e27d8891461078d57806377027ff4146107ad5780638029eff1146107c257806386e27125146107f257005b806364fe6ed214610736578063671abed71461074b5780636c8b72f61461077857005b80632467ef941161029d5780633bf353fb1161024157806354f2f7af1161021357806354f2f7af146106cc57806356891412146106ea5780635bc789d9146107005780635e508c2c1461072057005b80633bf353fb1461065d5780633de39c11146106735780633f10cf1514610689578063430694cf1461069f57005b80632d757c3e1161027a5780632d757c3e146105925780632fd99c00146105cb578063315a095d1461060b57806332ed5b121461062b57005b80632467ef941461053657806325c069fc1461054b5780632d5b17de1461057257005b806313108d7411610304578063184a0ae9116102e1578063184a0ae9146104c45780631a5007dd146104da57806321df0da7146104ef5780632229a0e21461052157005b806313108d741461046f57806316bbecde1461048f57806317d7de7c146104af57005b80630a366a631161033d5780630a366a63146103f65780630d66808714610419578063123f6d671461042f578063130485fe1461044f57005b80623a40d01461036057806301a598a61461038b57806306fdde03146103d4575b005b34801561036c57600080fd5b50610375610a7b565b6040516103829190613b56565b60405180910390f35b34801561039757600080fd5b506103bf6103a6366004613bb6565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201610382565b3480156103e057600080fd5b506103e9610ad3565b6040516103829190613c1e565b34801561040257600080fd5b5061040b610b61565b604051908152602001610382565b34801561042557600080fd5b5061040b600d5481565b34801561043b57600080fd5b5061035e61044a366004613c31565b610b89565b34801561045b57600080fd5b506103bf61046a366004613c99565b610e0a565b34801561047b57600080fd5b5061040b61048a366004613f05565b610e3c565b34801561049b57600080fd5b5061035e6104aa366004613fde565b6113f1565b3480156104bb57600080fd5b506103e9611527565b3480156104d057600080fd5b5061040b60035481565b3480156104e657600080fd5b50600a5461040b565b3480156104fb57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610382565b34801561052d57600080fd5b5060165461040b565b34801561054257600080fd5b50600c5461040b565b34801561055757600080fd5b50610560600a81565b60405160ff9091168152602001610382565b34801561057e57600080fd5b5061035e61058d36600461400a565b6115b0565b34801561059e57600080fd5b5061040b6105ad366004613bb6565b6001600160a01b031660009081526012602052604090206001015490565b3480156105d757600080fd5b506105fb6105e6366004614074565b60136020526000908152604090205460ff1681565b6040519015158152602001610382565b34801561061757600080fd5b5061035e610626366004614074565b61185c565b34801561063757600080fd5b5061064b610646366004614074565b611aa4565b604051610382969594939291906140c5565b34801561066957600080fd5b5061040b600c5481565b34801561067f57600080fd5b5061040b60085481565b34801561069557600080fd5b5061040b60045481565b3480156106ab57600080fd5b506106bf6106ba366004614074565b611bf8565b60405161038291906141eb565b3480156106d857600080fd5b506011546001600160a01b0316610509565b3480156106f657600080fd5b5061040b600e5481565b34801561070c57600080fd5b50601154610509906001600160a01b031681565b34801561072c57600080fd5b5061040b60055481565b34801561074257600080fd5b5060105461040b565b34801561075757600080fd5b5061076b6107663660046142e9565b611f83565b6040516103829190614370565b34801561078457600080fd5b5060075461040b565b34801561079957600080fd5b5061035e6107a8366004614074565b6123aa565b3480156107b957600080fd5b5060095461040b565b3480156107ce57600080fd5b506105fb6107dd366004614074565b60009081526013602052604090205460ff1690565b3480156107fe57600080fd5b5061035e61080d3660046143aa565b61252a565b34801561081e57600080fd5b5060085461040b565b34801561083357600080fd5b5061035e6108423660046144af565b6127ce565b34801561085357600080fd5b50600b5461040b565b34801561086857600080fd5b5061040b6108773660046145c9565b6128b4565b34801561088857600080fd5b506001546001600160a01b0316610509565b3480156108a657600080fd5b5061040b600a5481565b3480156108bc57600080fd5b5061040b600f5481565b3480156108d257600080fd5b506105fb6108e1366004614602565b61290b565b3480156108f257600080fd5b50600f5461040b565b34801561090757600080fd5b5061040b612920565b34801561091c57600080fd5b5061040b61092b366004614074565b612937565b34801561093c57600080fd5b5061035e61094b366004614074565b612958565b34801561095c57600080fd5b5060045461040b565b34801561097157600080fd5b5061040b610980366004613bb6565b61322e565b34801561099157600080fd5b50600d5461040b565b3480156109a657600080fd5b5060035461040b565b3480156109bb57600080fd5b5061040b60095481565b3480156109d157600080fd5b5061040b60105481565b3480156109e757600080fd5b506103bf6109f6366004613c99565b60146020908152600092835260408084209091529082529020805460019091015482565b348015610a2657600080fd5b50600e5461040b565b348015610a3b57600080fd5b5061040b60065481565b348015610a5157600080fd5b50600054610509906001600160a01b031681565b348015610a7157600080fd5b5061040b60075481565b60606016805480602002602001604051908101604052809291908181526020018280548015610ac957602002820191906000526020600020905b815481526020019060010190808311610ab5575b5050505050905090565b60028054610ae090614647565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0c90614647565b8015610b595780601f10610b2e57610100808354040283529160200191610b59565b820191906000526020600020905b815481529060010190602001808311610b3c57829003601f168201915b505050505081565b6000610b84612710610b7e600654610b78600e5490565b90613249565b9061325c565b905090565b333014610c0e5760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a11610c765760405162461bcd60e51b815260206004820152602f60248201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60448201526e0206265206d6f7265207468616e203608c1b6064820152608401610c05565b89831015610cec5760405162461bcd60e51b815260206004820152603e60248201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860448201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d6500006064820152608401610c05565b60008811610d625760405162461bcd60e51b815260206004820152603c60248201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560448201527f637574696f6e2068617320746f206265206d6f7265207468616e2030000000006064820152608401610c05565b6201c908861115610ddb5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e20313137303030000000000000006064820152608401610c05565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e541015610eb85760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c000000000000006064820152608401610c05565b600f54600b541015610f285760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b6064820152608401610c05565b600954600c5410610f9a5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b6064820152608401610c05565b610fa2610b61565b610fab3361322e565b10156110175760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b6064820152608401610c05565b85518751148015611029575084518751145b6110925760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b6064820152608401610c05565b60008751116110fd5760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b6064820152608401610c05565b86518411158015611117575084516111159085613268565b155b6111895760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e6774680000000000000000006064820152608401610c05565b600a8411156112005760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c20726561636865640000000000006064820152608401610c05565b600a546040516bffffffffffffffffffffffff193360601b16602082015242603482015260548101919091526000906074016040516020818303038152906040528051906020012090506112606001600a5461327490919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546112969190613274565b600282015588516112b090600383019060208c0190613911565b5087516112c690600483019060208b0190613976565b5086516112dc90600583019060208a01906139cf565b5084516112f29060068301906020880190613a0a565b5083516113089060078301906020870190613a0a565b50611314866001613274565b6001600160401b0381111561132b5761132b613cc5565b604051908082528060200260200182016040528015611354578160200160208202803683370190505b50805161136b9160098401916020909101906139cf565b5060088101805460ff19166001908117909155600c5461138a91613274565b600c55816000805160206149b1833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526015602052604090206002015442106114215760405162461bcd60e51b8152600401610c0590614682565b8061142b3361322e565b101580156114545750600083815260146020908152604080832033845290915290206001015481115b6114705760405162461bcd60e51b8152600401610c05906146cd565b60008381526014602090815260408083203384529091529020541580156114b157506000838152601460209081526040808320338452909152902060010154155b806114fa57506000838152601460209081526040808320338452909152902054821480156114fa5750600083815260146020908152604080832033845290915290206001015481115b6115165760405162461bcd60e51b8152600401610c0590614713565b61152233848484613280565b505050565b60606002805461153690614647565b80601f016020809104026020016040519081016040528092919081815260200182805461156290614647565b8015610ac95780601f1061158457610100808354040283529160200191610ac9565b820191906000526020600020905b81548152906001019060200180831161159257509395945050505050565b60008581526015602052604090206002015442106115e05760405162461bcd60e51b8152600401610c0590614682565b60006115ee838787876128b4565b60008181526013602052604090205490915060ff161561164c5760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b6044820152606401610c05565b6116ad826116a7836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b906134ca565b6001600160a01b0316836001600160a01b03161461170d5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e657200000000000000006044820152606401610c05565b6000818152601360205260409020805460ff19166001179055836117308461322e565b10158015611762575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b61177e5760405162461bcd60e51b8152600401610c05906146cd565b60008681526014602090815260408083206001600160a01b03871684529091529020541580156117d1575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8061182c575060008681526014602090815260408083206001600160a01b03871684529091529020548514801561182c575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6118485760405162461bcd60e51b8152600401610c0590614713565b61185483878787613280565b505050505050565b806118663361322e565b10156118d35760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b6064820152608401610c05565b3360009081526012602052604090206001015442116119345760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b6564006044820152606401610c05565b600081116119aa5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e2030006064820152608401610c05565b336000908152601260205260409020546119c490826134ee565b33600090815260126020526040902055600e546119e190826134ee565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b50505050611a513361322e565b611a6757600b54611a639060016134ee565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b03909416949293919291611ade90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611b0a90614647565b8015611b575780601f10611b2c57610100808354040283529160200191611b57565b820191906000526020600020905b815481529060010190602001808311611b3a57829003601f168201915b505050505090806007018054611b6c90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611b9890614647565b8015611be55780601f10611bba57610100808354040283529160200191611be5565b820191906000526020600020905b815481529060010190602001808311611bc857829003601f168201915b5050506008909301549192505060ff1686565b611c00613a7d565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015611c9357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c75575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015611d6d578382906000526020600020018054611ce090614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611d0c90614647565b8015611d595780601f10611d2e57610100808354040283529160200191611d59565b820191906000526020600020905b815481529060010190602001808311611d3c57829003601f168201915b505050505081526020019060010190611cc1565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015611dc457602002820191906000526020600020905b815481526020019060010190808311611db0575b50505050508152602001600682018054611ddd90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611e0990614647565b8015611e565780601f10611e2b57610100808354040283529160200191611e56565b820191906000526020600020905b815481529060010190602001808311611e3957829003601f168201915b50505050508152602001600782018054611e6f90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9b90614647565b8015611ee85780601f10611ebd57610100808354040283529160200191611ee8565b820191906000526020600020905b815481529060010190602001808311611ecb57829003601f168201915b5050509183525050600882015460209091019060ff166004811115611f0f57611f0f61408d565b6004811115611f2057611f2061408d565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015611f7357602002820191906000526020600020905b815481526020019060010190808311611f5f575b5050505050815250509050919050565b606082518451148015611f97575081518351145b6120095760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e677468006064820152608401610c05565b60008085516001600160401b0381111561202557612025613cc5565b60405190808252806020026020018201604052801561204e578160200160208202803683370190505b509050600091505b85518210156123a15742601560008885815181106120765761207661477a565b602002602001015181526020019081526020016000206002015410156120bf5760008183815181106120aa576120aa61477a565b9115156020928302919091019091015261238f565b8382815181106120d1576120d161477a565b60200260200101516120e23361322e565b10806121585750601460008784815181106120ff576120ff61477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206001015484838151811061214e5761214e61477a565b6020026020010151105b156121715760008183815181106120aa576120aa61477a565b601460008784815181106121875761218761477a565b60209081029190910181015182528181019290925260409081016000908120338252909252902054158061220d5750601460008784815181106121cc576121cc61477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b80156122f957508482815181106122265761222661477a565b6020026020010151601460008885815181106122445761224461477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060000154141580156122f9575083828151811061229c5761229c61477a565b6020026020010151601460008885815181106122ba576122ba61477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b156123125760008183815181106120aa576120aa61477a565b60018183815181106123265761232661477a565b60200260200101901515908115158152505061238f3387848151811061234e5761234e61477a565b60200260200101518785815181106123685761236861477a565b60200260200101518786815181106123825761238261477a565b6020026020010151613280565b81612399816147a6565b925050612056565b95945050505050565b600081116124155760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b6064820152608401610c05565b61241e3361322e565b61243457600b54612430906001613274565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b15801561248057600080fd5b505af1158015612494573d6000803e3d6000fd5b5050336000908152601260205260409020546124b39250905082613274565b33600090815260126020526040902055600d546124d1904290613274565b33600090815260126020526040902060010155600e546124f19082613274565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c9101611a99565b6000612538878585856128b4565b90508581146125895760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f746520686173680000006044820152606401610c05565b60008181526013602052604090205460ff16156125e45760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b6044820152606401610c05565b60006125f189888861290b565b90508061264c5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b6064820152608401610c05565b600085815260156020526040902060020154421061267c5760405162461bcd60e51b8152600401610c0590614682565b826126868961322e565b101580156126b8575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b6126d45760405162461bcd60e51b8152600401610c05906146cd565b60008581526014602090815260408083206001600160a01b038c168452909152902054158015612727575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b80612782575060008581526014602090815260408083206001600160a01b038c16845290915290205484148015612782575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b61279e5760405162461bcd60e51b8152600401610c0590614713565b6000828152601360205260409020805460ff191660011790556127c388868686613280565b505050505050505050565b60005b87518110156128aa576128988882815181106127ef576127ef61477a565b60200260200101518883815181106128095761280961477a565b60200260200101518884815181106128235761282361477a565b602002602001015188858151811061283d5761283d61477a565b60200260200101518886815181106128575761285761477a565b60200260200101518887815181106128715761287161477a565b602002602001015188888151811061288b5761288b61477a565b602002602001015161252a565b806128a2816147a6565b9150506127d1565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b60006129188285856134fa565b949350505050565b6000610b84612710610b7e600554610b78600e5490565b6016818154811061294757600080fd5b600091825260209091200154905081565b60175460ff16156129b75760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b6064820152608401610c05565b600160008281526015602052604090206008015460ff1660048111156129df576129df61408d565b14612a3a5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b6064820152608401610c05565b6000818152601560205260409020600201544211612aa85760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b6064820152608401610c05565b600081815260156020526040812060090180548291908290612acc57612acc61477a565b600091825260209091200154905060015b600084815260156020526040902060090154811015612bf657612afe612920565b6000858152601560205260409020600901805483908110612b2157612b2161477a565b906000526020600020015410158015612b6957506000848152601560205260409020600901805483919083908110612b5b57612b5b61477a565b906000526020600020015410155b15612be4576000848152601560205260409020600901805483919083908110612b9457612b9461477a565b90600052602060002001541415612bae5760009250612be4565b60008481526015602052604090206009018054919350839182908110612bd657612bd661477a565b906000526020600020015491505b80612bee816147a6565b915050612add565b82612c43576000848152601560205260409020600801805460ff1916600290811790915584906000805160206149b1833981519152905b60405190815260200160405180910390a2613217565b6004546000858152601560205260409020600201544291612c649190613274565b1015612ca0576000848152601560205260409020600801805460ff1916600490811790915584906000805160206149b183398151915290612c2d565b600084815260156020526040812060088101805460ff1916600317905560090154612ce890612cd09060016134ee565b6000878152601560205260409020600301549061325c565b9050612cff612cf88560016134ee565b8290613249565b91506000612d0d8383613274565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612d5f57600080fd5b505af1158015612d73573d6000803e3d6000fd5b505050505b80831015613173576000868152601560205260408120600301805485908110612da357612da361477a565b6000918252602090912001546001600160a01b031614801590612dfd57506000868152601560205260408120600401805485908110612de457612de461477a565b906000526020600020018054612df990614647565b9050115b15613161576000868152601560205260408120600401805485908110612e2557612e2561477a565b906000526020600020018054612e3a90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054612e6690614647565b8015612eb35780601f10612e8857610100808354040283529160200191612eb3565b820191906000526020600020905b815481529060010190602001808311612e9657829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed470339250309189908110612efe57612efe61477a565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a81548110612f4457612f4461477a565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b158015612fa857600080fd5b505af1925050508015612fb9575060015b61300b57612fc56147c1565b806308c379a01415612fff5750612fda6147dd565b80612fe55750613001565b8060405162461bcd60e51b8152600401610c059190613c1e565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811061303b5761303b61477a565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b0390921691889081106130775761307761477a565b9060005260206000200154601560008c815260200190815260200160002060040188815481106130a9576130a961477a565b906000526020600020016040516130c09190614866565b60006040518083038185875af1925050503d80600081146130fd576040519150601f19603f3d011682016040523d82523d6000602084013e613102565b606091505b50509050806131535760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c65646044820152606401610c05565b50506017805460ff19169055505b8261316b816147a6565b935050612d78565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156131b857600080fd5b505af11580156131cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f09190614902565b50856000805160206149b1833981519152600360405190815260200160405180910390a250505b600c546132259060016134ee565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b60006132558284614924565b9392505050565b60006132558284614959565b6000613255828461496d565b60006132558284614981565b60008381526014602090815260408083206001600160a01b0388168452825280832060010154868452601590925290912060090180546132ef9284926132e992879081106132d0576132d061477a565b90600052602060002001546134ee90919063ffffffff16565b90613274565b60008481526015602052604090206009018054849081106133125761331261477a565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154613378856001600160a01b031660009081526012602052604090206001015490565b10156133ac576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a3600754156134c457600061341d6134146008543a61351090919063ffffffff16565b60075490613249565b905080471015801561342e5750333b155b156134c257604051600090339083908381818185875af1925050503d8060008114613475576040519150601f19603f3d011682016040523d82523d6000602084013e61347a565b606091505b50509050806118545760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b6044820152606401610c05565b505b50505050565b60008060006134d98585613526565b915091506134e681613593565b509392505050565b60006132558284614999565b6000826135078584613751565b14949350505050565b600081831061351f5781613255565b5090919050565b60008082516041141561355d5760208301516040840151606085015160001a613551878285856137f5565b94509450505050610e35565b825160401415613587576020830151604084015161357c8683836138e2565b935093505050610e35565b50600090506002610e35565b60008160048111156135a7576135a761408d565b14156135b05750565b60018160048111156135c4576135c461408d565b14156136125760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610c05565b60028160048111156136265761362661408d565b14156136745760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c05565b60038160048111156136885761368861408d565b14156136e15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c05565b60048160048111156136f5576136f561408d565b141561374e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610c05565b50565b600081815b84518110156134e65760008582815181106137735761377361477a565b602002602001015190508083116137b55760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506137e2565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806137ed816147a6565b915050613756565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561382c57506000905060036138d9565b8460ff16601b1415801561384457508460ff16601c14155b1561385557506000905060046138d9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156138a9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166138d2576000600192509250506138d9565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01613903878288856137f5565b935093505050935093915050565b828054828255906000526020600020908101928215613966579160200282015b8281111561396657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613931565b50613972929150613aea565b5090565b8280548282559060005260206000209081019282156139c3579160200282015b828111156139c357825180516139b3918491602090910190613a0a565b5091602001919060010190613996565b50613972929150613aff565b828054828255906000526020600020908101928215613966579160200282015b828111156139665782518255916020019190600101906139ef565b828054613a1690614647565b90600052602060002090601f016020900481019282613a385760008555613966565b82601f10613a5157805160ff1916838001178555613966565b8280016001018555821561396657918201828111156139665782518255916020019190600101906139ef565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115613add57613add61408d565b8152602001606081525090565b5b808211156139725760008155600101613aeb565b80821115613972576000613b138282613b1c565b50600101613aff565b508054613b2890614647565b6000825580601f10613b38575050565b601f01602090049060005260206000209081019061374e9190613aea565b6020808252825182820181905260009190848201906040850190845b81811015613b8e57835183529284019291840191600101613b72565b50909695505050505050565b80356001600160a01b0381168114613bb157600080fd5b919050565b600060208284031215613bc857600080fd5b61325582613b9a565b6000815180845260005b81811015613bf757602081850181015186830182015201613bdb565b81811115613c09576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006132556020830184613bd1565b6000806000806000806000806000806101408b8d031215613c5157600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60008060408385031215613cac57600080fd5b82359150613cbc60208401613b9a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715613d0057613d00613cc5565b6040525050565b60006001600160401b03821115613d2057613d20613cc5565b5060051b60200190565b600082601f830112613d3b57600080fd5b81356020613d4882613d07565b604051613d558282613cdb565b83815260059390931b8501820192828101915086841115613d7557600080fd5b8286015b84811015613d9757613d8a81613b9a565b8352918301918301613d79565b509695505050505050565b600082601f830112613db357600080fd5b81356001600160401b03811115613dcc57613dcc613cc5565b604051613de3601f8301601f191660200182613cdb565b818152846020838601011115613df857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112613e2657600080fd5b81356020613e3382613d07565b604051613e408282613cdb565b83815260059390931b8501820192828101915086841115613e6057600080fd5b8286015b84811015613d975780356001600160401b03811115613e835760008081fd5b613e918986838b0101613da2565b845250918301918301613e64565b600082601f830112613eb057600080fd5b81356020613ebd82613d07565b604051613eca8282613cdb565b83815260059390931b8501820192828101915086841115613eea57600080fd5b8286015b84811015613d975780358352918301918301613eee565b60008060008060008060c08789031215613f1e57600080fd5b86356001600160401b0380821115613f3557600080fd5b613f418a838b01613d2a565b97506020890135915080821115613f5757600080fd5b613f638a838b01613e15565b96506040890135915080821115613f7957600080fd5b613f858a838b01613e9f565b9550606089013594506080890135915080821115613fa257600080fd5b613fae8a838b01613da2565b935060a0890135915080821115613fc457600080fd5b50613fd189828a01613da2565b9150509295509295509295565b600080600060608486031215613ff357600080fd5b505081359360208301359350604090920135919050565b600080600080600060a0868803121561402257600080fd5b85359450602086013593506040860135925061404060608701613b9a565b915060808601356001600160401b0381111561405b57600080fd5b61406788828901613da2565b9150509295509295909350565b60006020828403121561408657600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600581106140c157634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006140f260c0830186613bd1565b82810360808401526141048186613bd1565b91505061411460a08301846140a3565b979650505050505050565b600081518084526020808501945080840160005b838110156141585781516001600160a01b031687529582019590820190600101614133565b509495945050505050565b600082825180855260208086019550808260051b84010181860160005b848110156141ae57601f1986840301895261419c838351613bd1565b98840198925090830190600101614180565b5090979650505050505050565b600081518084526020808501945080840160005b83811015614158578151875295820195908201906001016141cf565b602081526142056020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015261423761016085018361411f565b91506080850151601f19808685030160a08701526142558483614163565b935060a08701519150808685030160c087015261427284836141bb565b935060c08701519150808685030160e087015261428f8483613bd1565b935060e087015191506101008187860301818801526142ae8584613bd1565b9450808801519250506101206142c6818801846140a3565b8701518685039091018387015290506142df83826141bb565b9695505050505050565b6000806000606084860312156142fe57600080fd5b83356001600160401b038082111561431557600080fd5b61432187838801613e9f565b9450602086013591508082111561433757600080fd5b61434387838801613e9f565b9350604086013591508082111561435957600080fd5b5061436686828701613e9f565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b81811015613b8e57835115158352928401929184019160010161438c565b600080600080600080600060e0888a0312156143c557600080fd5b873596506143d560208901613b9a565b95506040880135945060608801356001600160401b038111156143f757600080fd5b6144038a828b01613e9f565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f83011261443657600080fd5b8135602061444382613d07565b6040516144508282613cdb565b83815260059390931b850182019282810191508684111561447057600080fd5b8286015b84811015613d975780356001600160401b038111156144935760008081fd5b6144a18986838b0101613e9f565b845250918301918301614474565b600080600080600080600060e0888a0312156144ca57600080fd5b87356001600160401b03808211156144e157600080fd5b6144ed8b838c01613e9f565b985060208a013591508082111561450357600080fd5b61450f8b838c01613d2a565b975060408a013591508082111561452557600080fd5b6145318b838c01613e9f565b965060608a013591508082111561454757600080fd5b6145538b838c01614425565b955060808a013591508082111561456957600080fd5b6145758b838c01613e9f565b945060a08a013591508082111561458b57600080fd5b6145978b838c01613e9f565b935060c08a01359150808211156145ad57600080fd5b506145ba8a828b01613e9f565b91505092959891949750929550565b600080600080608085870312156145df57600080fd5b6145e885613b9a565b966020860135965060408601359560600135945092505050565b60008060006060848603121561461757600080fd5b833592506020840135915060408401356001600160401b0381111561463b57600080fd5b61436686828701613e9f565b600181811c9082168061465b57607f821691505b6020821081141561467c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156147ba576147ba614790565b5060010190565b600060033d11156147da5760046000803e5060005160e01c5b90565b600060443d10156147eb5790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561481a57505050505090565b82850191508151818111156148325750505050505090565b843d870101602082850101111561484c5750505050505090565b61485b60208286010187613cdb565b509095945050505050565b600080835481600182811c91508083168061488257607f831692505b60208084108214156148a257634e487b7160e01b86526022600452602486fd5b8180156148b657600181146148c7576148f4565b60ff198616895284890196506148f4565b60008a81526020902060005b868110156148ec5781548b8201529085019083016148d3565b505084890196505b509498975050505050505050565b60006020828403121561491457600080fd5b8151801515811461325557600080fd5b600081600019048311821515161561493e5761493e614790565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261496857614968614943565b500490565b60008261497c5761497c614943565b500690565b6000821982111561499457614994614790565b500190565b6000828210156149ab576149ab614790565b50039056fefee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220a3e552340723cfd636e9196e15c02f050ad2869d9ba4f7677dea88ed01cdb07764736f6c63430008080033", + "deployedBytecode": "0x60806040526004361061035e5760003560e01c806364fe6ed2116101c4578063ad6c1e34116100f6578063c93e01e31161009a578063f4732da61161006c578063f4732da614610a1a578063f98606a714610a2f578063fc0c546a14610a45578063fc4e703f14610a6557005b8063c93e01e31461099a578063e0450353146109af578063e158080a146109c5578063f0995198146109db57005b8063b3b47061116100d3578063b3b4706114610930578063b7c15f8d14610950578063bcc3f3bd14610965578063c0a4d64d1461098557005b8063ad6c1e34146108e6578063ae619234146108fb578063b3929aaa1461091057005b806389c98c0611610168578063a16fe3421161013a578063a16fe3421461087c578063a78d80fc1461089a578063a7aeb557146108b0578063ab6ea06b146108c657005b806389c98c06146108125780638bb8591e146108275780638f1803051461084757806392b716541461085c57005b80636e27d889116101a15780636e27d8891461078d57806377027ff4146107ad5780638029eff1146107c257806386e27125146107f257005b806364fe6ed214610736578063671abed71461074b5780636c8b72f61461077857005b80632467ef941161029d5780633bf353fb1161024157806354f2f7af1161021357806354f2f7af146106cc57806356891412146106ea5780635bc789d9146107005780635e508c2c1461072057005b80633bf353fb1461065d5780633de39c11146106735780633f10cf1514610689578063430694cf1461069f57005b80632d757c3e1161027a5780632d757c3e146105925780632fd99c00146105cb578063315a095d1461060b57806332ed5b121461062b57005b80632467ef941461053657806325c069fc1461054b5780632d5b17de1461057257005b806313108d7411610304578063184a0ae9116102e1578063184a0ae9146104c45780631a5007dd146104da57806321df0da7146104ef5780632229a0e21461052157005b806313108d741461046f57806316bbecde1461048f57806317d7de7c146104af57005b80630a366a631161033d5780630a366a63146103f65780630d66808714610419578063123f6d671461042f578063130485fe1461044f57005b80623a40d01461036057806301a598a61461038b57806306fdde03146103d4575b005b34801561036c57600080fd5b50610375610a7b565b6040516103829190613b56565b60405180910390f35b34801561039757600080fd5b506103bf6103a6366004613bb6565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201610382565b3480156103e057600080fd5b506103e9610ad3565b6040516103829190613c1e565b34801561040257600080fd5b5061040b610b61565b604051908152602001610382565b34801561042557600080fd5b5061040b600d5481565b34801561043b57600080fd5b5061035e61044a366004613c31565b610b89565b34801561045b57600080fd5b506103bf61046a366004613c99565b610e0a565b34801561047b57600080fd5b5061040b61048a366004613f05565b610e3c565b34801561049b57600080fd5b5061035e6104aa366004613fde565b6113f1565b3480156104bb57600080fd5b506103e9611527565b3480156104d057600080fd5b5061040b60035481565b3480156104e657600080fd5b50600a5461040b565b3480156104fb57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610382565b34801561052d57600080fd5b5060165461040b565b34801561054257600080fd5b50600c5461040b565b34801561055757600080fd5b50610560600a81565b60405160ff9091168152602001610382565b34801561057e57600080fd5b5061035e61058d36600461400a565b6115b0565b34801561059e57600080fd5b5061040b6105ad366004613bb6565b6001600160a01b031660009081526012602052604090206001015490565b3480156105d757600080fd5b506105fb6105e6366004614074565b60136020526000908152604090205460ff1681565b6040519015158152602001610382565b34801561061757600080fd5b5061035e610626366004614074565b61185c565b34801561063757600080fd5b5061064b610646366004614074565b611aa4565b604051610382969594939291906140c5565b34801561066957600080fd5b5061040b600c5481565b34801561067f57600080fd5b5061040b60085481565b34801561069557600080fd5b5061040b60045481565b3480156106ab57600080fd5b506106bf6106ba366004614074565b611bf8565b60405161038291906141eb565b3480156106d857600080fd5b506011546001600160a01b0316610509565b3480156106f657600080fd5b5061040b600e5481565b34801561070c57600080fd5b50601154610509906001600160a01b031681565b34801561072c57600080fd5b5061040b60055481565b34801561074257600080fd5b5060105461040b565b34801561075757600080fd5b5061076b6107663660046142e9565b611f83565b6040516103829190614370565b34801561078457600080fd5b5060075461040b565b34801561079957600080fd5b5061035e6107a8366004614074565b6123aa565b3480156107b957600080fd5b5060095461040b565b3480156107ce57600080fd5b506105fb6107dd366004614074565b60009081526013602052604090205460ff1690565b3480156107fe57600080fd5b5061035e61080d3660046143aa565b61252a565b34801561081e57600080fd5b5060085461040b565b34801561083357600080fd5b5061035e6108423660046144af565b6127ce565b34801561085357600080fd5b50600b5461040b565b34801561086857600080fd5b5061040b6108773660046145c9565b6128b4565b34801561088857600080fd5b506001546001600160a01b0316610509565b3480156108a657600080fd5b5061040b600a5481565b3480156108bc57600080fd5b5061040b600f5481565b3480156108d257600080fd5b506105fb6108e1366004614602565b61290b565b3480156108f257600080fd5b50600f5461040b565b34801561090757600080fd5b5061040b612920565b34801561091c57600080fd5b5061040b61092b366004614074565b612937565b34801561093c57600080fd5b5061035e61094b366004614074565b612958565b34801561095c57600080fd5b5060045461040b565b34801561097157600080fd5b5061040b610980366004613bb6565b61322e565b34801561099157600080fd5b50600d5461040b565b3480156109a657600080fd5b5060035461040b565b3480156109bb57600080fd5b5061040b60095481565b3480156109d157600080fd5b5061040b60105481565b3480156109e757600080fd5b506103bf6109f6366004613c99565b60146020908152600092835260408084209091529082529020805460019091015482565b348015610a2657600080fd5b50600e5461040b565b348015610a3b57600080fd5b5061040b60065481565b348015610a5157600080fd5b50600054610509906001600160a01b031681565b348015610a7157600080fd5b5061040b60075481565b60606016805480602002602001604051908101604052809291908181526020018280548015610ac957602002820191906000526020600020905b815481526020019060010190808311610ab5575b5050505050905090565b60028054610ae090614647565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0c90614647565b8015610b595780601f10610b2e57610100808354040283529160200191610b59565b820191906000526020600020905b815481529060010190602001808311610b3c57829003601f168201915b505050505081565b6000610b84612710610b7e600654610b78600e5490565b90613249565b9061325c565b905090565b333014610c0e5760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a11610c765760405162461bcd60e51b815260206004820152602f60248201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60448201526e0206265206d6f7265207468616e203608c1b6064820152608401610c05565b89831015610cec5760405162461bcd60e51b815260206004820152603e60248201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860448201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d6500006064820152608401610c05565b60008811610d625760405162461bcd60e51b815260206004820152603c60248201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560448201527f637574696f6e2068617320746f206265206d6f7265207468616e2030000000006064820152608401610c05565b6201c908861115610ddb5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e20313137303030000000000000006064820152608401610c05565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e541015610eb85760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c000000000000006064820152608401610c05565b600f54600b541015610f285760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b6064820152608401610c05565b600954600c5410610f9a5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b6064820152608401610c05565b610fa2610b61565b610fab3361322e565b10156110175760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b6064820152608401610c05565b85518751148015611029575084518751145b6110925760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b6064820152608401610c05565b60008751116110fd5760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b6064820152608401610c05565b86518411158015611117575084516111159085613268565b155b6111895760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e6774680000000000000000006064820152608401610c05565b600a8411156112005760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c20726561636865640000000000006064820152608401610c05565b600a546040516bffffffffffffffffffffffff193360601b16602082015242603482015260548101919091526000906074016040516020818303038152906040528051906020012090506112606001600a5461327490919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546112969190613274565b600282015588516112b090600383019060208c0190613911565b5087516112c690600483019060208b0190613976565b5086516112dc90600583019060208a01906139cf565b5084516112f29060068301906020880190613a0a565b5083516113089060078301906020870190613a0a565b50611314866001613274565b6001600160401b0381111561132b5761132b613cc5565b604051908082528060200260200182016040528015611354578160200160208202803683370190505b50805161136b9160098401916020909101906139cf565b5060088101805460ff19166001908117909155600c5461138a91613274565b600c55816000805160206149b1833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526015602052604090206002015442106114215760405162461bcd60e51b8152600401610c0590614682565b8061142b3361322e565b101580156114545750600083815260146020908152604080832033845290915290206001015481115b6114705760405162461bcd60e51b8152600401610c05906146cd565b60008381526014602090815260408083203384529091529020541580156114b157506000838152601460209081526040808320338452909152902060010154155b806114fa57506000838152601460209081526040808320338452909152902054821480156114fa5750600083815260146020908152604080832033845290915290206001015481115b6115165760405162461bcd60e51b8152600401610c0590614713565b61152233848484613280565b505050565b60606002805461153690614647565b80601f016020809104026020016040519081016040528092919081815260200182805461156290614647565b8015610ac95780601f1061158457610100808354040283529160200191610ac9565b820191906000526020600020905b81548152906001019060200180831161159257509395945050505050565b60008581526015602052604090206002015442106115e05760405162461bcd60e51b8152600401610c0590614682565b60006115ee838787876128b4565b60008181526013602052604090205490915060ff161561164c5760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b6044820152606401610c05565b6116ad826116a7836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b906134ca565b6001600160a01b0316836001600160a01b03161461170d5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e657200000000000000006044820152606401610c05565b6000818152601360205260409020805460ff19166001179055836117308461322e565b10158015611762575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b61177e5760405162461bcd60e51b8152600401610c05906146cd565b60008681526014602090815260408083206001600160a01b03871684529091529020541580156117d1575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8061182c575060008681526014602090815260408083206001600160a01b03871684529091529020548514801561182c575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6118485760405162461bcd60e51b8152600401610c0590614713565b61185483878787613280565b505050505050565b806118663361322e565b10156118d35760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b6064820152608401610c05565b3360009081526012602052604090206001015442116119345760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b6564006044820152606401610c05565b600081116119aa5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e2030006064820152608401610c05565b336000908152601260205260409020546119c490826134ee565b33600090815260126020526040902055600e546119e190826134ee565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b50505050611a513361322e565b611a6757600b54611a639060016134ee565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b03909416949293919291611ade90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611b0a90614647565b8015611b575780601f10611b2c57610100808354040283529160200191611b57565b820191906000526020600020905b815481529060010190602001808311611b3a57829003601f168201915b505050505090806007018054611b6c90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611b9890614647565b8015611be55780601f10611bba57610100808354040283529160200191611be5565b820191906000526020600020905b815481529060010190602001808311611bc857829003601f168201915b5050506008909301549192505060ff1686565b611c00613a7d565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015611c9357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c75575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015611d6d578382906000526020600020018054611ce090614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611d0c90614647565b8015611d595780601f10611d2e57610100808354040283529160200191611d59565b820191906000526020600020905b815481529060010190602001808311611d3c57829003601f168201915b505050505081526020019060010190611cc1565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015611dc457602002820191906000526020600020905b815481526020019060010190808311611db0575b50505050508152602001600682018054611ddd90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611e0990614647565b8015611e565780601f10611e2b57610100808354040283529160200191611e56565b820191906000526020600020905b815481529060010190602001808311611e3957829003601f168201915b50505050508152602001600782018054611e6f90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9b90614647565b8015611ee85780601f10611ebd57610100808354040283529160200191611ee8565b820191906000526020600020905b815481529060010190602001808311611ecb57829003601f168201915b5050509183525050600882015460209091019060ff166004811115611f0f57611f0f61408d565b6004811115611f2057611f2061408d565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015611f7357602002820191906000526020600020905b815481526020019060010190808311611f5f575b5050505050815250509050919050565b606082518451148015611f97575081518351145b6120095760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e677468006064820152608401610c05565b60008085516001600160401b0381111561202557612025613cc5565b60405190808252806020026020018201604052801561204e578160200160208202803683370190505b509050600091505b85518210156123a15742601560008885815181106120765761207661477a565b602002602001015181526020019081526020016000206002015410156120bf5760008183815181106120aa576120aa61477a565b9115156020928302919091019091015261238f565b8382815181106120d1576120d161477a565b60200260200101516120e23361322e565b10806121585750601460008784815181106120ff576120ff61477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206001015484838151811061214e5761214e61477a565b6020026020010151105b156121715760008183815181106120aa576120aa61477a565b601460008784815181106121875761218761477a565b60209081029190910181015182528181019290925260409081016000908120338252909252902054158061220d5750601460008784815181106121cc576121cc61477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b80156122f957508482815181106122265761222661477a565b6020026020010151601460008885815181106122445761224461477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060000154141580156122f9575083828151811061229c5761229c61477a565b6020026020010151601460008885815181106122ba576122ba61477a565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b156123125760008183815181106120aa576120aa61477a565b60018183815181106123265761232661477a565b60200260200101901515908115158152505061238f3387848151811061234e5761234e61477a565b60200260200101518785815181106123685761236861477a565b60200260200101518786815181106123825761238261477a565b6020026020010151613280565b81612399816147a6565b925050612056565b95945050505050565b600081116124155760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b6064820152608401610c05565b61241e3361322e565b61243457600b54612430906001613274565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b15801561248057600080fd5b505af1158015612494573d6000803e3d6000fd5b5050336000908152601260205260409020546124b39250905082613274565b33600090815260126020526040902055600d546124d1904290613274565b33600090815260126020526040902060010155600e546124f19082613274565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c9101611a99565b6000612538878585856128b4565b90508581146125895760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f746520686173680000006044820152606401610c05565b60008181526013602052604090205460ff16156125e45760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b6044820152606401610c05565b60006125f189888861290b565b90508061264c5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b6064820152608401610c05565b600085815260156020526040902060020154421061267c5760405162461bcd60e51b8152600401610c0590614682565b826126868961322e565b101580156126b8575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b6126d45760405162461bcd60e51b8152600401610c05906146cd565b60008581526014602090815260408083206001600160a01b038c168452909152902054158015612727575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b80612782575060008581526014602090815260408083206001600160a01b038c16845290915290205484148015612782575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b61279e5760405162461bcd60e51b8152600401610c0590614713565b6000828152601360205260409020805460ff191660011790556127c388868686613280565b505050505050505050565b60005b87518110156128aa576128988882815181106127ef576127ef61477a565b60200260200101518883815181106128095761280961477a565b60200260200101518884815181106128235761282361477a565b602002602001015188858151811061283d5761283d61477a565b60200260200101518886815181106128575761285761477a565b60200260200101518887815181106128715761287161477a565b602002602001015188888151811061288b5761288b61477a565b602002602001015161252a565b806128a2816147a6565b9150506127d1565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b60006129188285856134fa565b949350505050565b6000610b84612710610b7e600554610b78600e5490565b6016818154811061294757600080fd5b600091825260209091200154905081565b60175460ff16156129b75760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b6064820152608401610c05565b600160008281526015602052604090206008015460ff1660048111156129df576129df61408d565b14612a3a5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b6064820152608401610c05565b6000818152601560205260409020600201544211612aa85760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b6064820152608401610c05565b600081815260156020526040812060090180548291908290612acc57612acc61477a565b600091825260209091200154905060015b600084815260156020526040902060090154811015612bf657612afe612920565b6000858152601560205260409020600901805483908110612b2157612b2161477a565b906000526020600020015410158015612b6957506000848152601560205260409020600901805483919083908110612b5b57612b5b61477a565b906000526020600020015410155b15612be4576000848152601560205260409020600901805483919083908110612b9457612b9461477a565b90600052602060002001541415612bae5760009250612be4565b60008481526015602052604090206009018054919350839182908110612bd657612bd661477a565b906000526020600020015491505b80612bee816147a6565b915050612add565b82612c43576000848152601560205260409020600801805460ff1916600290811790915584906000805160206149b1833981519152905b60405190815260200160405180910390a2613217565b6004546000858152601560205260409020600201544291612c649190613274565b1015612ca0576000848152601560205260409020600801805460ff1916600490811790915584906000805160206149b183398151915290612c2d565b600084815260156020526040812060088101805460ff1916600317905560090154612ce890612cd09060016134ee565b6000878152601560205260409020600301549061325c565b9050612cff612cf88560016134ee565b8290613249565b91506000612d0d8383613274565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612d5f57600080fd5b505af1158015612d73573d6000803e3d6000fd5b505050505b80831015613173576000868152601560205260408120600301805485908110612da357612da361477a565b6000918252602090912001546001600160a01b031614801590612dfd57506000868152601560205260408120600401805485908110612de457612de461477a565b906000526020600020018054612df990614647565b9050115b15613161576000868152601560205260408120600401805485908110612e2557612e2561477a565b906000526020600020018054612e3a90614647565b80601f0160208091040260200160405190810160405280929190818152602001828054612e6690614647565b8015612eb35780601f10612e8857610100808354040283529160200191612eb3565b820191906000526020600020905b815481529060010190602001808311612e9657829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed470339250309189908110612efe57612efe61477a565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a81548110612f4457612f4461477a565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b158015612fa857600080fd5b505af1925050508015612fb9575060015b61300b57612fc56147c1565b806308c379a01415612fff5750612fda6147dd565b80612fe55750613001565b8060405162461bcd60e51b8152600401610c059190613c1e565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811061303b5761303b61477a565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b0390921691889081106130775761307761477a565b9060005260206000200154601560008c815260200190815260200160002060040188815481106130a9576130a961477a565b906000526020600020016040516130c09190614866565b60006040518083038185875af1925050503d80600081146130fd576040519150601f19603f3d011682016040523d82523d6000602084013e613102565b606091505b50509050806131535760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c65646044820152606401610c05565b50506017805460ff19169055505b8261316b816147a6565b935050612d78565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156131b857600080fd5b505af11580156131cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f09190614902565b50856000805160206149b1833981519152600360405190815260200160405180910390a250505b600c546132259060016134ee565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b60006132558284614924565b9392505050565b60006132558284614959565b6000613255828461496d565b60006132558284614981565b60008381526014602090815260408083206001600160a01b0388168452825280832060010154868452601590925290912060090180546132ef9284926132e992879081106132d0576132d061477a565b90600052602060002001546134ee90919063ffffffff16565b90613274565b60008481526015602052604090206009018054849081106133125761331261477a565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154613378856001600160a01b031660009081526012602052604090206001015490565b10156133ac576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a3600754156134c457600061341d6134146008543a61351090919063ffffffff16565b60075490613249565b905080471015801561342e5750333b155b156134c257604051600090339083908381818185875af1925050503d8060008114613475576040519150601f19603f3d011682016040523d82523d6000602084013e61347a565b606091505b50509050806118545760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b6044820152606401610c05565b505b50505050565b60008060006134d98585613526565b915091506134e681613593565b509392505050565b60006132558284614999565b6000826135078584613751565b14949350505050565b600081831061351f5781613255565b5090919050565b60008082516041141561355d5760208301516040840151606085015160001a613551878285856137f5565b94509450505050610e35565b825160401415613587576020830151604084015161357c8683836138e2565b935093505050610e35565b50600090506002610e35565b60008160048111156135a7576135a761408d565b14156135b05750565b60018160048111156135c4576135c461408d565b14156136125760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610c05565b60028160048111156136265761362661408d565b14156136745760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c05565b60038160048111156136885761368861408d565b14156136e15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c05565b60048160048111156136f5576136f561408d565b141561374e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610c05565b50565b600081815b84518110156134e65760008582815181106137735761377361477a565b602002602001015190508083116137b55760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506137e2565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806137ed816147a6565b915050613756565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561382c57506000905060036138d9565b8460ff16601b1415801561384457508460ff16601c14155b1561385557506000905060046138d9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156138a9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166138d2576000600192509250506138d9565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01613903878288856137f5565b935093505050935093915050565b828054828255906000526020600020908101928215613966579160200282015b8281111561396657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613931565b50613972929150613aea565b5090565b8280548282559060005260206000209081019282156139c3579160200282015b828111156139c357825180516139b3918491602090910190613a0a565b5091602001919060010190613996565b50613972929150613aff565b828054828255906000526020600020908101928215613966579160200282015b828111156139665782518255916020019190600101906139ef565b828054613a1690614647565b90600052602060002090601f016020900481019282613a385760008555613966565b82601f10613a5157805160ff1916838001178555613966565b8280016001018555821561396657918201828111156139665782518255916020019190600101906139ef565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115613add57613add61408d565b8152602001606081525090565b5b808211156139725760008155600101613aeb565b80821115613972576000613b138282613b1c565b50600101613aff565b508054613b2890614647565b6000825580601f10613b38575050565b601f01602090049060005260206000209081019061374e9190613aea565b6020808252825182820181905260009190848201906040850190845b81811015613b8e57835183529284019291840191600101613b72565b50909695505050505050565b80356001600160a01b0381168114613bb157600080fd5b919050565b600060208284031215613bc857600080fd5b61325582613b9a565b6000815180845260005b81811015613bf757602081850181015186830182015201613bdb565b81811115613c09576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006132556020830184613bd1565b6000806000806000806000806000806101408b8d031215613c5157600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60008060408385031215613cac57600080fd5b82359150613cbc60208401613b9a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715613d0057613d00613cc5565b6040525050565b60006001600160401b03821115613d2057613d20613cc5565b5060051b60200190565b600082601f830112613d3b57600080fd5b81356020613d4882613d07565b604051613d558282613cdb565b83815260059390931b8501820192828101915086841115613d7557600080fd5b8286015b84811015613d9757613d8a81613b9a565b8352918301918301613d79565b509695505050505050565b600082601f830112613db357600080fd5b81356001600160401b03811115613dcc57613dcc613cc5565b604051613de3601f8301601f191660200182613cdb565b818152846020838601011115613df857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112613e2657600080fd5b81356020613e3382613d07565b604051613e408282613cdb565b83815260059390931b8501820192828101915086841115613e6057600080fd5b8286015b84811015613d975780356001600160401b03811115613e835760008081fd5b613e918986838b0101613da2565b845250918301918301613e64565b600082601f830112613eb057600080fd5b81356020613ebd82613d07565b604051613eca8282613cdb565b83815260059390931b8501820192828101915086841115613eea57600080fd5b8286015b84811015613d975780358352918301918301613eee565b60008060008060008060c08789031215613f1e57600080fd5b86356001600160401b0380821115613f3557600080fd5b613f418a838b01613d2a565b97506020890135915080821115613f5757600080fd5b613f638a838b01613e15565b96506040890135915080821115613f7957600080fd5b613f858a838b01613e9f565b9550606089013594506080890135915080821115613fa257600080fd5b613fae8a838b01613da2565b935060a0890135915080821115613fc457600080fd5b50613fd189828a01613da2565b9150509295509295509295565b600080600060608486031215613ff357600080fd5b505081359360208301359350604090920135919050565b600080600080600060a0868803121561402257600080fd5b85359450602086013593506040860135925061404060608701613b9a565b915060808601356001600160401b0381111561405b57600080fd5b61406788828901613da2565b9150509295509295909350565b60006020828403121561408657600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600581106140c157634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006140f260c0830186613bd1565b82810360808401526141048186613bd1565b91505061411460a08301846140a3565b979650505050505050565b600081518084526020808501945080840160005b838110156141585781516001600160a01b031687529582019590820190600101614133565b509495945050505050565b600082825180855260208086019550808260051b84010181860160005b848110156141ae57601f1986840301895261419c838351613bd1565b98840198925090830190600101614180565b5090979650505050505050565b600081518084526020808501945080840160005b83811015614158578151875295820195908201906001016141cf565b602081526142056020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015261423761016085018361411f565b91506080850151601f19808685030160a08701526142558483614163565b935060a08701519150808685030160c087015261427284836141bb565b935060c08701519150808685030160e087015261428f8483613bd1565b935060e087015191506101008187860301818801526142ae8584613bd1565b9450808801519250506101206142c6818801846140a3565b8701518685039091018387015290506142df83826141bb565b9695505050505050565b6000806000606084860312156142fe57600080fd5b83356001600160401b038082111561431557600080fd5b61432187838801613e9f565b9450602086013591508082111561433757600080fd5b61434387838801613e9f565b9350604086013591508082111561435957600080fd5b5061436686828701613e9f565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b81811015613b8e57835115158352928401929184019160010161438c565b600080600080600080600060e0888a0312156143c557600080fd5b873596506143d560208901613b9a565b95506040880135945060608801356001600160401b038111156143f757600080fd5b6144038a828b01613e9f565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f83011261443657600080fd5b8135602061444382613d07565b6040516144508282613cdb565b83815260059390931b850182019282810191508684111561447057600080fd5b8286015b84811015613d975780356001600160401b038111156144935760008081fd5b6144a18986838b0101613e9f565b845250918301918301614474565b600080600080600080600060e0888a0312156144ca57600080fd5b87356001600160401b03808211156144e157600080fd5b6144ed8b838c01613e9f565b985060208a013591508082111561450357600080fd5b61450f8b838c01613d2a565b975060408a013591508082111561452557600080fd5b6145318b838c01613e9f565b965060608a013591508082111561454757600080fd5b6145538b838c01614425565b955060808a013591508082111561456957600080fd5b6145758b838c01613e9f565b945060a08a013591508082111561458b57600080fd5b6145978b838c01613e9f565b935060c08a01359150808211156145ad57600080fd5b506145ba8a828b01613e9f565b91505092959891949750929550565b600080600080608085870312156145df57600080fd5b6145e885613b9a565b966020860135965060408601359560600135945092505050565b60008060006060848603121561461757600080fd5b833592506020840135915060408401356001600160401b0381111561463b57600080fd5b61436686828701613e9f565b600181811c9082168061465b57607f821691505b6020821081141561467c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156147ba576147ba614790565b5060010190565b600060033d11156147da5760046000803e5060005160e01c5b90565b600060443d10156147eb5790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561481a57505050505090565b82850191508151818111156148325750505050505090565b843d870101602082850101111561484c5750505050505090565b61485b60208286010187613cdb565b509095945050505050565b600080835481600182811c91508083168061488257607f831692505b60208084108214156148a257634e487b7160e01b86526022600452602486fd5b8180156148b657600181146148c7576148f4565b60ff198616895284890196506148f4565b60008a81526020902060005b868110156148ec5781548b8201529085019083016148d3565b505084890196505b509498975050505050505050565b60006020828403121561491457600080fd5b8151801515811461325557600080fd5b600081600019048311821515161561493e5761493e614790565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261496857614968614943565b500490565b60008261497c5761497c614943565b500690565b6000821982111561499457614994614790565b500190565b6000828210156149ab576149ab614790565b50039056fefee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220a3e552340723cfd636e9196e15c02f050ad2869d9ba4f7677dea88ed01cdb07764736f6c63430008080033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/DXDGuild.json b/src/contracts/DXDGuild.json index 5583eea62..cf731e17c 100644 --- a/src/contracts/DXDGuild.json +++ b/src/contracts/DXDGuild.json @@ -1,1285 +1,1429 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DXDGuild", - "sourceName": "dxdao-contracts/contracts/erc20guild/implementations/DXDGuild.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newState", - "type": "uint256" - } - ], - "name": "ProposalStateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensLocked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "VoteAdded", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "MAX_OPTIONS_PER_PROPOSAL", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activeProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalOptions", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - } - ], - "name": "createProposal", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "endProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getActiveProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getName", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPermissionRegistry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getProposal", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - }, - { - "internalType": "uint256[]", - "name": "totalVotes", - "type": "uint256[]" - } - ], - "internalType": "struct BaseERC20Guild.Proposal", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getProposalVotesOfVoter", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIds", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIdsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "signedVoteHash", - "type": "bytes32" - } - ], - "name": "getSignedVote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTimeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTokenVault", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalMembers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getVoterLockTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "hashVote", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_permissionRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_votingMachine", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_permissionRegistry", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "lockTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "maxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposalsIds", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumMembersForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumTokensLockedForProposalCreation", - "type": "uint256" - } - ], - "name": "setConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "setSignedVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "setVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "signedVotes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenVault", - "outputs": [ - { - "internalType": "contract TokenVault", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tokensLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "voteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "votingPowerOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "withdrawTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506151b3806100206000396000f3fe608060405260043610620003b55760003560e01c80635e508c2c11620001eb578063ae619234116200010b578063e045035311620000a7578063f4732da61162000075578063f4732da61462000b33578063f98606a71462000b4a578063fc0c546a1462000b62578063fc4e703f1462000b8457005b8063e04503531462000a9b578063e158080a1462000ab3578063f09951981462000acb578063f2fde38b1462000b0e57005b8063b7c15f8d11620000e5578063b7c15f8d1462000a31578063bcc3f3bd1462000a48578063c0a4d64d1462000a6d578063c93e01e31462000a8457005b8063ae61923414620009cf578063b3929aaa14620009e7578063b3b470611462000a0c57005b806389c98c061162000187578063a16fe3421162000155578063a16fe3421462000968578063a78d80fc1462000988578063a7aeb55714620009a0578063ad6c1e3414620009b857005b806389c98c0614620008f55780638da5cb5b146200090c5780638f180305146200092c57806392b71654146200094357005b80636e27d88911620001c55780636e27d889146200086d578063715018a6146200089257806377027ff414620008aa5780638029eff114620008c157005b80635e508c2c146200082757806364fe6ed2146200083f5780636c8b72f6146200085657005b80632467ef9411620002d757806336f8f8d91162000273578063430694cf1162000241578063430694cf146200079957806354f2f7af14620007cd5780635689141214620007ed5780635bc789d9146200080557005b806336f8f8d9146200072c5780633bf353fb14620007515780633de39c1114620007695780633f10cf15146200078157005b80632d757c3e11620002b15780632d757c3e146200064c5780632fd99c001462000689578063315a095d14620006ce57806332ed5b1214620006f357005b80632467ef9414620005e657806325c069fc14620005fd5780632d5b17de146200062757005b806313108d7411620003535780631a5007dd11620003215780631a5007dd146200055f57806321df0da714620005765780632229a0e214620005aa5780632457e39314620005c157005b806313108d7414620004e557806316bbecde146200050a57806317d7de7c146200052f578063184a0ae9146200054757005b80630a366a6311620003915780630a366a63146200045c5780630d6680871462000483578063123f6d67146200049b578063130485fe14620004c057005b80623a40d014620003b757806301a598a614620003e757806306fdde031462000435575b005b348015620003c457600080fd5b50620003cf62000b9c565b604051620003de919062003b55565b60405180910390f35b348015620003f457600080fd5b506200041f6200040636600462003bb8565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201620003de565b3480156200044257600080fd5b506200044d62000bf6565b604051620003de919062003c26565b3480156200046957600080fd5b506200047462000c8c565b604051908152602001620003de565b3480156200049057600080fd5b5062000474600d5481565b348015620004a857600080fd5b50620003b5620004ba36600462003c3b565b62000cb9565b348015620004cd57600080fd5b506200041f620004df36600462003ca4565b62000e52565b348015620004f257600080fd5b50620004746200050436600462003f41565b62000e84565b3480156200051757600080fd5b50620003b5620005293660046200402b565b6200146b565b3480156200053c57600080fd5b506200044d620015b2565b3480156200055457600080fd5b506200047460035481565b3480156200056c57600080fd5b50600a5462000474565b3480156200058357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001620003de565b348015620005b757600080fd5b5060165462000474565b348015620005ce57600080fd5b50620003b5620005e036600462004058565b62001643565b348015620005f357600080fd5b50600c5462000474565b3480156200060a57600080fd5b5062000614600a81565b60405160ff9091168152602001620003de565b3480156200063457600080fd5b50620003b562000646366004620040f3565b6200178c565b3480156200065957600080fd5b50620004746200066b36600462003bb8565b6001600160a01b031660009081526012602052604090206001015490565b3480156200069657600080fd5b50620006bd620006a836600462004164565b60136020526000908152604090205460ff1681565b6040519015158152602001620003de565b348015620006db57600080fd5b50620003b5620006ed36600462004164565b62001a56565b3480156200070057600080fd5b50620007186200071236600462004164565b62001cb1565b604051620003de96959493929190620041b7565b3480156200073957600080fd5b50620003b56200074b36600462004217565b62001e15565b3480156200075e57600080fd5b5062000474600c5481565b3480156200077657600080fd5b506200047460085481565b3480156200078e57600080fd5b506200047460045481565b348015620007a657600080fd5b50620007be620007b836600462004164565b6200203b565b604051620003de91906200438d565b348015620007da57600080fd5b506011546001600160a01b031662000591565b348015620007fa57600080fd5b5062000474600e5481565b3480156200081257600080fd5b5060115462000591906001600160a01b031681565b3480156200083457600080fd5b506200047460055481565b3480156200084c57600080fd5b5060105462000474565b3480156200086357600080fd5b5060075462000474565b3480156200087a57600080fd5b50620003b56200088c36600462004164565b620023ee565b3480156200089f57600080fd5b50620003b56200257e565b348015620008b757600080fd5b5060095462000474565b348015620008ce57600080fd5b50620006bd620008e036600462004164565b60009081526013602052604090205460ff1690565b3480156200090257600080fd5b5060085462000474565b3480156200091957600080fd5b50604a546001600160a01b031662000591565b3480156200093957600080fd5b50600b5462000474565b3480156200095057600080fd5b5062000474620009623660046200449a565b620025e8565b3480156200097557600080fd5b506001546001600160a01b031662000591565b3480156200099557600080fd5b5062000474600a5481565b348015620009ad57600080fd5b5062000474600f5481565b348015620009c557600080fd5b50600f5462000474565b348015620009dc57600080fd5b50620004746200263f565b348015620009f457600080fd5b506200047462000a0636600462004164565b62002659565b34801562000a1957600080fd5b50620003b562000a2b36600462004164565b6200267b565b34801562000a3e57600080fd5b5060045462000474565b34801562000a5557600080fd5b506200047462000a6736600462003bb8565b62002fc8565b34801562000a7a57600080fd5b50600d5462000474565b34801562000a9157600080fd5b5060035462000474565b34801562000aa857600080fd5b506200047460095481565b34801562000ac057600080fd5b506200047460105481565b34801562000ad857600080fd5b506200041f62000aea36600462003ca4565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000b1b57600080fd5b50620003b562000b2d36600462003bb8565b62002fe3565b34801562000b4057600080fd5b50600e5462000474565b34801562000b5757600080fd5b506200047460065481565b34801562000b6f57600080fd5b5060005462000591906001600160a01b031681565b34801562000b9157600080fd5b506200047460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000bec57602002820191906000526020600020905b81548152602001906001019080831162000bd7575b5050505050905090565b6002805462000c0590620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462000c3390620044d6565b801562000c845780601f1062000c585761010080835404028352916020019162000c84565b820191906000526020600020905b81548152906001019060200180831162000c6657829003601f168201915b505050505081565b600062000cb461271062000cad60065462000ca6600e5490565b90620030b4565b90620030c9565b905090565b33301462000d3f5760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000d625760405162461bcd60e51b815260040162000d369062004513565b8983101562000d855760405162461bcd60e51b815260040162000d369062004562565b6000881162000da85760405162461bcd60e51b815260040162000d3690620045bf565b6201c90886111562000e235760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000d36565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000f025760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000d36565b600f54600b54101562000f745760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000d36565b600954600c541062000fe85760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000d36565b62000ff262000c8c565b62000ffd3362002fc8565b10156200106b5760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000d36565b855187511480156200107e575084518751145b620010e95760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000d36565b6000875111620011565760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000d36565b865184111580156200117357508451620011719085620030d7565b155b620011e75760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000d36565b600a841115620012605760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000d36565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620012c26001600a54620030e590919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b031916331781554260018201819055600354620012fa9190620030e5565b600282015588516200131690600383019060208c0190620038dc565b5087516200132e90600483019060208b019062003946565b5086516200134690600583019060208a0190620039a6565b5084516200135e9060068301906020880190620039e4565b508351620013769060078301906020870190620039e4565b5062001384866001620030e5565b67ffffffffffffffff8111156200139f576200139f62003cd3565b604051908082528060200260200182016040528015620013c9578160200160208202803683370190505b508051620013e2916009840191602090910190620039a6565b5060088101805460ff19166001908117909155600c546200140391620030e5565b600c55816000805160206200515e833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526015602052604090206002015442106200149e5760405162461bcd60e51b815260040162000d36906200461c565b80620014aa3362002fc8565b10158015620014d45750600083815260146020908152604080832033845290915290206001015481115b620014f35760405162461bcd60e51b815260040162000d369062004667565b60008381526014602090815260408083203384529091529020541580156200153557506000838152601460209081526040808320338452909152902060010154155b80620015805750600083815260146020908152604080832033845290915290205482148015620015805750600083815260146020908152604080832033845290915290206001015481115b6200159f5760405162461bcd60e51b815260040162000d3690620046ad565b620015ad33848484620030f3565b505050565b606060028054620015c390620044d6565b80601f0160208091040260200160405190810160405280929190818152602001828054620015f190620044d6565b801562000bec5780601f10620016165761010080835404028352916020019162000bec565b820191906000526020600020905b8154815290600101906020018083116200162457509395945050505050565b60175462010000900460ff1680620016635750601754610100900460ff16155b620016825760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff16158015620016a8576017805462ffff001916620101001790555b620016b262003354565b620016e78c8c8c8c8c6040518060400160405280600881526020016711161111dd5a5b1960c21b8152508d8d8d8d8d62001e15565b60018054604051636cfe048960e01b81523060048201526001600160a01b03858116602483015263359afa4960e01b6044830152600060648301526084820193909352911690636cfe04899060a401600060405180830381600087803b1580156200175157600080fd5b505af115801562001766573d6000803e3d6000fd5b5050505080156200177e576017805462ff0000191690555b505050505050505050505050565b6000858152601560205260409020600201544210620017bf5760405162461bcd60e51b815260040162000d36906200461c565b6000620017cf83878787620025e8565b60008181526013602052604090205490915060ff1615620018335760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000d36565b620018978262001890836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90620033e3565b6001600160a01b0316836001600160a01b031614620018f95760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000d36565b6000818152601360205260409020805460ff19166001179055836200191e8462002fc8565b1015801562001951575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620019705760405162461bcd60e51b815260040162000d369062004667565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620019c4575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001a21575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001a21575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b62001a405760405162461bcd60e51b815260040162000d3690620046ad565b62001a4e83878787620030f3565b505050505050565b8062001a623362002fc8565b101562001ad15760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000d36565b33600090815260126020526040902060010154421162001b345760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000d36565b6000811162001bac5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000d36565b3360009081526012602052604090205462001bc890826200340b565b33600090815260126020526040902055600e5462001be790826200340b565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001c3757600080fd5b505af115801562001c4c573d6000803e3d6000fd5b5050505062001c5b3362002fc8565b62001c7457600b5462001c709060016200340b565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001ced90620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462001d1b90620044d6565b801562001d6c5780601f1062001d405761010080835404028352916020019162001d6c565b820191906000526020600020905b81548152906001019060200180831162001d4e57829003601f168201915b50505050509080600701805462001d8390620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462001db190620044d6565b801562001e025780601f1062001dd65761010080835404028352916020019162001e02565b820191906000526020600020905b81548152906001019060200180831162001de457829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001e355750601754610100900460ff16155b62001e545760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff1615801562001e7a576017805462ffff001916620101001790555b6001600160a01b038c1662001ee15760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000d36565b60008b1162001f045760405162461bcd60e51b815260040162000d369062004513565b8a83101562001f275760405162461bcd60e51b815260040162000d369062004562565b6000891162001f4a5760405162461bcd60e51b815260040162000d3690620045bf565b865162001f5f9060029060208a0190620039e4565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001f8e9062003a60565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001fc2573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d8590556001805490911691841691909117905580156200177e576017805462ff000019169055505050505050505050505050565b6200204562003a6e565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620020da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620020bb575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015620021be5783829060005260206000200180546200212a90620044d6565b80601f01602080910402602001604051908101604052809291908181526020018280546200215890620044d6565b8015620021a95780601f106200217d57610100808354040283529160200191620021a9565b820191906000526020600020905b8154815290600101906020018083116200218b57829003601f168201915b50505050508152602001906001019062002108565b505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156200221757602002820191906000526020600020905b81548152602001906001019080831162002202575b505050505081526020016006820180546200223290620044d6565b80601f01602080910402602001604051908101604052809291908181526020018280546200226090620044d6565b8015620022b15780601f106200228557610100808354040283529160200191620022b1565b820191906000526020600020905b8154815290600101906020018083116200229357829003601f168201915b50505050508152602001600782018054620022cc90620044d6565b80601f0160208091040260200160405190810160405280929190818152602001828054620022fa90620044d6565b80156200234b5780601f106200231f576101008083540402835291602001916200234b565b820191906000526020600020905b8154815290600101906020018083116200232d57829003601f168201915b5050509183525050600882015460209091019060ff1660048111156200237557620023756200417e565b60048111156200238957620023896200417e565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015620023de57602002820191906000526020600020905b815481526020019060010190808311620023c9575b5050505050815250509050919050565b600081116200245b5760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000d36565b620024663362002fc8565b6200247f57600b546200247b906001620030e5565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b158015620024cc57600080fd5b505af1158015620024e1573d6000803e3d6000fd5b505033600090815260126020526040902054620025029250905082620030e5565b33600090815260126020526040902055600d5462002522904290620030e5565b33600090815260126020526040902060010155600e54620025449082620030e5565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001ca6565b604a546001600160a01b03163314620025da5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000d36565b620025e6600062003419565b565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062000cb461271062000cad60055462000ca6600e5490565b601681815481106200266a57600080fd5b600091825260209091200154905081565b60175460ff1615620026dc5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000d36565b600160008281526015602052604090206008015460ff1660048111156200270757620027076200417e565b14620027645760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000d36565b6000818152601560205260409020600201544211620027d45760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000d36565b600081815260156020526040812060090180548291908290620027fb57620027fb62004762565b600091825260209091200154905060015b6000848152601560205260409020600901548110156200293b57620028306200263f565b600085815260156020526040902060090180548390811062002856576200285662004762565b906000526020600020015410158015620028a25750600084815260156020526040902060090180548391908390811062002894576200289462004762565b906000526020600020015410155b1562002926576000848152601560205260409020600901805483919083908110620028d157620028d162004762565b90600052602060002001541415620028ed576000925062002926565b6000848152601560205260409020600901805491935083918290811062002918576200291862004762565b906000526020600020015491505b8062002932816200478e565b9150506200280c565b826200298b576000848152601560205260409020600801805460ff1916600290811790915584906000805160206200515e833981519152905b60405190815260200160405180910390a262002faf565b6004546000858152601560205260409020600201544291620029ae9190620030e5565b1015620029ed576000848152601560205260409020600801805460ff1916600490811790915584906000805160206200515e8339815191529062002974565b600084815260156020526040812060088101805460ff191660031790556009015462002a399062002a209060016200340b565b60008781526015602052604090206003015490620030c9565b905062002a5462002a4c8560016200340b565b8290620030b4565b9150600062002a648383620030e5565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002ab757600080fd5b505af115801562002acc573d6000803e3d6000fd5b505050505b8083101562002f0657600086815260156020526040812060030180548590811062002b005762002b0062004762565b6000918252602090912001546001600160a01b03161480159062002b605750600086815260156020526040812060040180548590811062002b455762002b4562004762565b90600052602060002001805462002b5c90620044d6565b9050115b1562002ef157600086815260156020526040812060040180548590811062002b8c5762002b8c62004762565b90600052602060002001805462002ba390620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462002bd190620044d6565b801562002c225780601f1062002bf65761010080835404028352916020019162002c22565b820191906000526020600020905b81548152906001019060200180831162002c0457829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062002c705762002c7062004762565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a8154811062002cb95762002cb962004762565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801562002d1e57600080fd5b505af192505050801562002d30575060015b62002d8c5762002d3f620047ac565b806308c379a0141562002d80575062002d57620047c9565b8062002d64575062002d82565b8060405162461bcd60e51b815260040162000d36919062003c26565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811062002dbf5762002dbf62004762565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b03909216918890811062002dfe5762002dfe62004762565b9060005260206000200154601560008c8152602001908152602001600020600401888154811062002e335762002e3362004762565b9060005260206000200160405162002e4c919062004859565b60006040518083038185875af1925050503d806000811462002e8b576040519150601f19603f3d011682016040523d82523d6000602084013e62002e90565b606091505b505090508062002ee35760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000d36565b50506017805460ff19169055505b8262002efd816200478e565b93505062002ad1565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801562002f4c57600080fd5b505af115801562002f61573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f879190620048fd565b50856000805160206200515e833981519152600360405190815260200160405180910390a250505b600c5462002fbf9060016200340b565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b604a546001600160a01b031633146200303f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000d36565b6001600160a01b038116620030a65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000d36565b620030b18162003419565b50565b6000620030c2828462004921565b9392505050565b6000620030c2828462004959565b6000620030c2828462004970565b6000620030c2828462004987565b60008381526014602090815260408083206001600160a01b0388168452825280832060010154868452601590925290912060090180546200316992849262003162928790811062003148576200314862004762565b90600052602060002001546200340b90919063ffffffff16565b90620030e5565b60008481526015602052604090206009018054849081106200318f576200318f62004762565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154620031f6856001600160a01b031660009081526012602052604090206001015490565b10156200322b576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a3600754156200334e576000620032a1620032976008543a6200346b90919063ffffffff16565b60075490620030b4565b9050804710158015620032b35750333b155b156200334c57604051600090339083908381818185875af1925050503d8060008114620032fd576040519150601f19603f3d011682016040523d82523d6000602084013e62003302565b606091505b505090508062001a4e5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000d36565b505b50505050565b60175462010000900460ff1680620033745750601754610100900460ff16155b620033935760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff16158015620033b9576017805462ffff001916620101001790555b620033c362003483565b620033cd620034fd565b8015620030b1576017805462ff00001916905550565b6000806000620033f485856200356d565b915091506200340381620035e3565b509392505050565b6000620030c28284620049a2565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008183106200347c5781620030c2565b5090919050565b60175462010000900460ff1680620034a35750601754610100900460ff16155b620034c25760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff16158015620033cd576017805462ffff001916620101001790558015620030b1576017805462ff00001916905550565b60175462010000900460ff16806200351d5750601754610100900460ff16155b6200353c5760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff1615801562003562576017805462ffff001916620101001790555b620033cd3362003419565b600080825160411415620035a85760208301516040840151606085015160001a6200359b87828585620037b6565b9450945050505062000e7d565b825160401415620035d65760208301516040840151620035ca868383620038ab565b93509350505062000e7d565b5060009050600262000e7d565b6000816004811115620035fa57620035fa6200417e565b1415620036045750565b60018160048111156200361b576200361b6200417e565b14156200366b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000d36565b60028160048111156200368257620036826200417e565b1415620036d25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000d36565b6003816004811115620036e957620036e96200417e565b1415620037445760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000d36565b60048160048111156200375b576200375b6200417e565b1415620030b15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000d36565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620037ef5750600090506003620038a2565b8460ff16601b141580156200380857508460ff16601c14155b156200381b5750600090506004620038a2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562003870573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166200389b57600060019250925050620038a2565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620038ce87828885620037b6565b935093505050935093915050565b82805482825590600052602060002090810192821562003934579160200282015b828111156200393457825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620038fd565b506200394292915062003ade565b5090565b82805482825590600052602060002090810192821562003998579160200282015b8281111562003998578251805162003987918491602090910190620039e4565b509160200191906001019062003967565b506200394292915062003af5565b82805482825590600052602060002090810192821562003934579160200282015b8281111562003934578251825591602001919060010190620039c7565b828054620039f290620044d6565b90600052602060002090601f01602090048101928262003a16576000855562003934565b82601f1062003a3157805160ff191683800117855562003934565b8280016001018555821562003934579182018281111562003934578251825591602001919060010190620039c7565b6107a180620049bd83390190565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003ad15762003ad16200417e565b8152602001606081525090565b5b8082111562003942576000815560010162003adf565b808211156200394257600062003b0c828262003b16565b5060010162003af5565b50805462003b2490620044d6565b6000825580601f1062003b35575050565b601f016020900490600052602060002090810190620030b1919062003ade565b6020808252825182820181905260009190848201906040850190845b8181101562003b8f5783518352928401929184019160010162003b71565b50909695505050505050565b80356001600160a01b038116811462003bb357600080fd5b919050565b60006020828403121562003bcb57600080fd5b620030c28262003b9b565b6000815180845260005b8181101562003bfe5760208185018101518683018201520162003be0565b8181111562003c11576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620030c2602083018462003bd6565b6000806000806000806000806000806101408b8d03121562003c5c57600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121562003cb857600080fd5b8235915062003cca6020840162003b9b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562003d125762003d1262003cd3565b6040525050565b600067ffffffffffffffff82111562003d365762003d3662003cd3565b5060051b60200190565b600082601f83011262003d5257600080fd5b8135602062003d618262003d19565b60405162003d70828262003ce9565b83815260059390931b850182019282810191508684111562003d9157600080fd5b8286015b8481101562003db75762003da98162003b9b565b835291830191830162003d95565b509695505050505050565b600082601f83011262003dd457600080fd5b813567ffffffffffffffff81111562003df15762003df162003cd3565b60405162003e0a601f8301601f19166020018262003ce9565b81815284602083860101111562003e2057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011262003e4f57600080fd5b8135602062003e5e8262003d19565b60405162003e6d828262003ce9565b83815260059390931b850182019282810191508684111562003e8e57600080fd5b8286015b8481101562003db757803567ffffffffffffffff81111562003eb45760008081fd5b62003ec48986838b010162003dc2565b84525091830191830162003e92565b600082601f83011262003ee557600080fd5b8135602062003ef48262003d19565b60405162003f03828262003ce9565b83815260059390931b850182019282810191508684111562003f2457600080fd5b8286015b8481101562003db7578035835291830191830162003f28565b60008060008060008060c0878903121562003f5b57600080fd5b863567ffffffffffffffff8082111562003f7457600080fd5b62003f828a838b0162003d40565b9750602089013591508082111562003f9957600080fd5b62003fa78a838b0162003e3d565b9650604089013591508082111562003fbe57600080fd5b62003fcc8a838b0162003ed3565b955060608901359450608089013591508082111562003fea57600080fd5b62003ff88a838b0162003dc2565b935060a08901359150808211156200400f57600080fd5b506200401e89828a0162003dc2565b9150509295509295509295565b6000806000606084860312156200404157600080fd5b505081359360208301359350604090920135919050565b60008060008060008060008060008060006101608c8e0312156200407b57600080fd5b620040868c62003b9b565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c01359250620040d06101208d0162003b9b565b9150620040e16101408d0162003b9b565b90509295989b509295989b9093969950565b600080600080600060a086880312156200410c57600080fd5b8535945060208601359350604086013592506200412c6060870162003b9b565b9150608086013567ffffffffffffffff8111156200414957600080fd5b620041578882890162003dc2565b9150509295509295909350565b6000602082840312156200417757600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110620041b357634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c060608201526000620041e660c083018662003bd6565b8281036080840152620041fa818662003bd6565b9150506200420c60a083018462004194565b979650505050505050565b60008060008060008060008060008060006101608c8e0312156200423a57600080fd5b620042458c62003b9b565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff8111156200427e57600080fd5b6200428c8e828f0162003dc2565b96505060c08c0135945060e08c013593506101008c013592506101208c01359150620040e16101408d0162003b9b565b600081518084526020808501945080840160005b83811015620042f75781516001600160a01b031687529582019590820190600101620042d0565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b858110156200434e5782840389526200433b84835162003bd6565b9885019893509084019060010162004320565b5091979650505050505050565b600081518084526020808501945080840160005b83811015620042f7578151875295820195908201906001016200436f565b60208152620043a86020820183516001600160a01b03169052565b602082015160408201526040820151606082015260006060830151610140806080850152620043dc610160850183620042bc565b91506080850151601f19808685030160a0870152620043fc848362004302565b935060a08701519150808685030160c08701526200441b84836200435b565b935060c08701519150808685030160e08701526200443a848362003bd6565b935060e087015191506101008187860301818801526200445b858462003bd6565b945080880151925050610120620044758188018462004194565b8701518685039091018387015290506200449083826200435b565b9695505050505050565b60008060008060808587031215620044b157600080fd5b620044bc8562003b9b565b966020860135965060408601359560600135945092505050565b600181811c90821680620044eb57607f821691505b602082108114156200450d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620047a557620047a562004778565b5060010190565b600060033d1115620047c65760046000803e5060005160e01c5b90565b600060443d1015620047d85790565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156200480957505050505090565b8285019150815181811115620048225750505050505090565b843d87010160208285010111156200483d5750505050505090565b6200484e6020828601018762003ce9565b509095945050505050565b600080835481600182811c9150808316806200487657607f831692505b60208084108214156200489757634e487b7160e01b86526022600452602486fd5b818015620048ae5760018114620048c057620048ef565b60ff19861689528489019650620048ef565b60008a81526020902060005b86811015620048e75781548b820152908501908301620048cc565b505084890196505b509498975050505050505050565b6000602082840312156200491057600080fd5b81518015158114620030c257600080fd5b60008160001904831182151516156200493e576200493e62004778565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200496b576200496b62004943565b500490565b60008262004982576200498262004943565b500690565b600082198211156200499d576200499d62004778565b500190565b600082821015620049b757620049b762004778565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212205df22236efdb5ec7497ab2be84ba9415cf942e23dd28a89fa3ed58aa250900f264736f6c63430008080033", - "deployedBytecode": "0x608060405260043610620003b55760003560e01c80635e508c2c11620001eb578063ae619234116200010b578063e045035311620000a7578063f4732da61162000075578063f4732da61462000b33578063f98606a71462000b4a578063fc0c546a1462000b62578063fc4e703f1462000b8457005b8063e04503531462000a9b578063e158080a1462000ab3578063f09951981462000acb578063f2fde38b1462000b0e57005b8063b7c15f8d11620000e5578063b7c15f8d1462000a31578063bcc3f3bd1462000a48578063c0a4d64d1462000a6d578063c93e01e31462000a8457005b8063ae61923414620009cf578063b3929aaa14620009e7578063b3b470611462000a0c57005b806389c98c061162000187578063a16fe3421162000155578063a16fe3421462000968578063a78d80fc1462000988578063a7aeb55714620009a0578063ad6c1e3414620009b857005b806389c98c0614620008f55780638da5cb5b146200090c5780638f180305146200092c57806392b71654146200094357005b80636e27d88911620001c55780636e27d889146200086d578063715018a6146200089257806377027ff414620008aa5780638029eff114620008c157005b80635e508c2c146200082757806364fe6ed2146200083f5780636c8b72f6146200085657005b80632467ef9411620002d757806336f8f8d91162000273578063430694cf1162000241578063430694cf146200079957806354f2f7af14620007cd5780635689141214620007ed5780635bc789d9146200080557005b806336f8f8d9146200072c5780633bf353fb14620007515780633de39c1114620007695780633f10cf15146200078157005b80632d757c3e11620002b15780632d757c3e146200064c5780632fd99c001462000689578063315a095d14620006ce57806332ed5b1214620006f357005b80632467ef9414620005e657806325c069fc14620005fd5780632d5b17de146200062757005b806313108d7411620003535780631a5007dd11620003215780631a5007dd146200055f57806321df0da714620005765780632229a0e214620005aa5780632457e39314620005c157005b806313108d7414620004e557806316bbecde146200050a57806317d7de7c146200052f578063184a0ae9146200054757005b80630a366a6311620003915780630a366a63146200045c5780630d6680871462000483578063123f6d67146200049b578063130485fe14620004c057005b80623a40d014620003b757806301a598a614620003e757806306fdde031462000435575b005b348015620003c457600080fd5b50620003cf62000b9c565b604051620003de919062003b55565b60405180910390f35b348015620003f457600080fd5b506200041f6200040636600462003bb8565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201620003de565b3480156200044257600080fd5b506200044d62000bf6565b604051620003de919062003c26565b3480156200046957600080fd5b506200047462000c8c565b604051908152602001620003de565b3480156200049057600080fd5b5062000474600d5481565b348015620004a857600080fd5b50620003b5620004ba36600462003c3b565b62000cb9565b348015620004cd57600080fd5b506200041f620004df36600462003ca4565b62000e52565b348015620004f257600080fd5b50620004746200050436600462003f41565b62000e84565b3480156200051757600080fd5b50620003b5620005293660046200402b565b6200146b565b3480156200053c57600080fd5b506200044d620015b2565b3480156200055457600080fd5b506200047460035481565b3480156200056c57600080fd5b50600a5462000474565b3480156200058357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001620003de565b348015620005b757600080fd5b5060165462000474565b348015620005ce57600080fd5b50620003b5620005e036600462004058565b62001643565b348015620005f357600080fd5b50600c5462000474565b3480156200060a57600080fd5b5062000614600a81565b60405160ff9091168152602001620003de565b3480156200063457600080fd5b50620003b562000646366004620040f3565b6200178c565b3480156200065957600080fd5b50620004746200066b36600462003bb8565b6001600160a01b031660009081526012602052604090206001015490565b3480156200069657600080fd5b50620006bd620006a836600462004164565b60136020526000908152604090205460ff1681565b6040519015158152602001620003de565b348015620006db57600080fd5b50620003b5620006ed36600462004164565b62001a56565b3480156200070057600080fd5b50620007186200071236600462004164565b62001cb1565b604051620003de96959493929190620041b7565b3480156200073957600080fd5b50620003b56200074b36600462004217565b62001e15565b3480156200075e57600080fd5b5062000474600c5481565b3480156200077657600080fd5b506200047460085481565b3480156200078e57600080fd5b506200047460045481565b348015620007a657600080fd5b50620007be620007b836600462004164565b6200203b565b604051620003de91906200438d565b348015620007da57600080fd5b506011546001600160a01b031662000591565b348015620007fa57600080fd5b5062000474600e5481565b3480156200081257600080fd5b5060115462000591906001600160a01b031681565b3480156200083457600080fd5b506200047460055481565b3480156200084c57600080fd5b5060105462000474565b3480156200086357600080fd5b5060075462000474565b3480156200087a57600080fd5b50620003b56200088c36600462004164565b620023ee565b3480156200089f57600080fd5b50620003b56200257e565b348015620008b757600080fd5b5060095462000474565b348015620008ce57600080fd5b50620006bd620008e036600462004164565b60009081526013602052604090205460ff1690565b3480156200090257600080fd5b5060085462000474565b3480156200091957600080fd5b50604a546001600160a01b031662000591565b3480156200093957600080fd5b50600b5462000474565b3480156200095057600080fd5b5062000474620009623660046200449a565b620025e8565b3480156200097557600080fd5b506001546001600160a01b031662000591565b3480156200099557600080fd5b5062000474600a5481565b348015620009ad57600080fd5b5062000474600f5481565b348015620009c557600080fd5b50600f5462000474565b348015620009dc57600080fd5b50620004746200263f565b348015620009f457600080fd5b506200047462000a0636600462004164565b62002659565b34801562000a1957600080fd5b50620003b562000a2b36600462004164565b6200267b565b34801562000a3e57600080fd5b5060045462000474565b34801562000a5557600080fd5b506200047462000a6736600462003bb8565b62002fc8565b34801562000a7a57600080fd5b50600d5462000474565b34801562000a9157600080fd5b5060035462000474565b34801562000aa857600080fd5b506200047460095481565b34801562000ac057600080fd5b506200047460105481565b34801562000ad857600080fd5b506200041f62000aea36600462003ca4565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000b1b57600080fd5b50620003b562000b2d36600462003bb8565b62002fe3565b34801562000b4057600080fd5b50600e5462000474565b34801562000b5757600080fd5b506200047460065481565b34801562000b6f57600080fd5b5060005462000591906001600160a01b031681565b34801562000b9157600080fd5b506200047460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000bec57602002820191906000526020600020905b81548152602001906001019080831162000bd7575b5050505050905090565b6002805462000c0590620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462000c3390620044d6565b801562000c845780601f1062000c585761010080835404028352916020019162000c84565b820191906000526020600020905b81548152906001019060200180831162000c6657829003601f168201915b505050505081565b600062000cb461271062000cad60065462000ca6600e5490565b90620030b4565b90620030c9565b905090565b33301462000d3f5760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000d625760405162461bcd60e51b815260040162000d369062004513565b8983101562000d855760405162461bcd60e51b815260040162000d369062004562565b6000881162000da85760405162461bcd60e51b815260040162000d3690620045bf565b6201c90886111562000e235760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000d36565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000f025760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000d36565b600f54600b54101562000f745760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000d36565b600954600c541062000fe85760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000d36565b62000ff262000c8c565b62000ffd3362002fc8565b10156200106b5760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000d36565b855187511480156200107e575084518751145b620010e95760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000d36565b6000875111620011565760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000d36565b865184111580156200117357508451620011719085620030d7565b155b620011e75760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000d36565b600a841115620012605760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000d36565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620012c26001600a54620030e590919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b031916331781554260018201819055600354620012fa9190620030e5565b600282015588516200131690600383019060208c0190620038dc565b5087516200132e90600483019060208b019062003946565b5086516200134690600583019060208a0190620039a6565b5084516200135e9060068301906020880190620039e4565b508351620013769060078301906020870190620039e4565b5062001384866001620030e5565b67ffffffffffffffff8111156200139f576200139f62003cd3565b604051908082528060200260200182016040528015620013c9578160200160208202803683370190505b508051620013e2916009840191602090910190620039a6565b5060088101805460ff19166001908117909155600c546200140391620030e5565b600c55816000805160206200515e833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526015602052604090206002015442106200149e5760405162461bcd60e51b815260040162000d36906200461c565b80620014aa3362002fc8565b10158015620014d45750600083815260146020908152604080832033845290915290206001015481115b620014f35760405162461bcd60e51b815260040162000d369062004667565b60008381526014602090815260408083203384529091529020541580156200153557506000838152601460209081526040808320338452909152902060010154155b80620015805750600083815260146020908152604080832033845290915290205482148015620015805750600083815260146020908152604080832033845290915290206001015481115b6200159f5760405162461bcd60e51b815260040162000d3690620046ad565b620015ad33848484620030f3565b505050565b606060028054620015c390620044d6565b80601f0160208091040260200160405190810160405280929190818152602001828054620015f190620044d6565b801562000bec5780601f10620016165761010080835404028352916020019162000bec565b820191906000526020600020905b8154815290600101906020018083116200162457509395945050505050565b60175462010000900460ff1680620016635750601754610100900460ff16155b620016825760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff16158015620016a8576017805462ffff001916620101001790555b620016b262003354565b620016e78c8c8c8c8c6040518060400160405280600881526020016711161111dd5a5b1960c21b8152508d8d8d8d8d62001e15565b60018054604051636cfe048960e01b81523060048201526001600160a01b03858116602483015263359afa4960e01b6044830152600060648301526084820193909352911690636cfe04899060a401600060405180830381600087803b1580156200175157600080fd5b505af115801562001766573d6000803e3d6000fd5b5050505080156200177e576017805462ff0000191690555b505050505050505050505050565b6000858152601560205260409020600201544210620017bf5760405162461bcd60e51b815260040162000d36906200461c565b6000620017cf83878787620025e8565b60008181526013602052604090205490915060ff1615620018335760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000d36565b620018978262001890836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90620033e3565b6001600160a01b0316836001600160a01b031614620018f95760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000d36565b6000818152601360205260409020805460ff19166001179055836200191e8462002fc8565b1015801562001951575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620019705760405162461bcd60e51b815260040162000d369062004667565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620019c4575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001a21575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001a21575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b62001a405760405162461bcd60e51b815260040162000d3690620046ad565b62001a4e83878787620030f3565b505050505050565b8062001a623362002fc8565b101562001ad15760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000d36565b33600090815260126020526040902060010154421162001b345760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000d36565b6000811162001bac5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000d36565b3360009081526012602052604090205462001bc890826200340b565b33600090815260126020526040902055600e5462001be790826200340b565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001c3757600080fd5b505af115801562001c4c573d6000803e3d6000fd5b5050505062001c5b3362002fc8565b62001c7457600b5462001c709060016200340b565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001ced90620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462001d1b90620044d6565b801562001d6c5780601f1062001d405761010080835404028352916020019162001d6c565b820191906000526020600020905b81548152906001019060200180831162001d4e57829003601f168201915b50505050509080600701805462001d8390620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462001db190620044d6565b801562001e025780601f1062001dd65761010080835404028352916020019162001e02565b820191906000526020600020905b81548152906001019060200180831162001de457829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001e355750601754610100900460ff16155b62001e545760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff1615801562001e7a576017805462ffff001916620101001790555b6001600160a01b038c1662001ee15760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000d36565b60008b1162001f045760405162461bcd60e51b815260040162000d369062004513565b8a83101562001f275760405162461bcd60e51b815260040162000d369062004562565b6000891162001f4a5760405162461bcd60e51b815260040162000d3690620045bf565b865162001f5f9060029060208a0190620039e4565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001f8e9062003a60565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001fc2573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d8590556001805490911691841691909117905580156200177e576017805462ff000019169055505050505050505050505050565b6200204562003a6e565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620020da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620020bb575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015620021be5783829060005260206000200180546200212a90620044d6565b80601f01602080910402602001604051908101604052809291908181526020018280546200215890620044d6565b8015620021a95780601f106200217d57610100808354040283529160200191620021a9565b820191906000526020600020905b8154815290600101906020018083116200218b57829003601f168201915b50505050508152602001906001019062002108565b505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156200221757602002820191906000526020600020905b81548152602001906001019080831162002202575b505050505081526020016006820180546200223290620044d6565b80601f01602080910402602001604051908101604052809291908181526020018280546200226090620044d6565b8015620022b15780601f106200228557610100808354040283529160200191620022b1565b820191906000526020600020905b8154815290600101906020018083116200229357829003601f168201915b50505050508152602001600782018054620022cc90620044d6565b80601f0160208091040260200160405190810160405280929190818152602001828054620022fa90620044d6565b80156200234b5780601f106200231f576101008083540402835291602001916200234b565b820191906000526020600020905b8154815290600101906020018083116200232d57829003601f168201915b5050509183525050600882015460209091019060ff1660048111156200237557620023756200417e565b60048111156200238957620023896200417e565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015620023de57602002820191906000526020600020905b815481526020019060010190808311620023c9575b5050505050815250509050919050565b600081116200245b5760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000d36565b620024663362002fc8565b6200247f57600b546200247b906001620030e5565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b158015620024cc57600080fd5b505af1158015620024e1573d6000803e3d6000fd5b505033600090815260126020526040902054620025029250905082620030e5565b33600090815260126020526040902055600d5462002522904290620030e5565b33600090815260126020526040902060010155600e54620025449082620030e5565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001ca6565b604a546001600160a01b03163314620025da5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000d36565b620025e6600062003419565b565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062000cb461271062000cad60055462000ca6600e5490565b601681815481106200266a57600080fd5b600091825260209091200154905081565b60175460ff1615620026dc5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000d36565b600160008281526015602052604090206008015460ff1660048111156200270757620027076200417e565b14620027645760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000d36565b6000818152601560205260409020600201544211620027d45760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000d36565b600081815260156020526040812060090180548291908290620027fb57620027fb62004762565b600091825260209091200154905060015b6000848152601560205260409020600901548110156200293b57620028306200263f565b600085815260156020526040902060090180548390811062002856576200285662004762565b906000526020600020015410158015620028a25750600084815260156020526040902060090180548391908390811062002894576200289462004762565b906000526020600020015410155b1562002926576000848152601560205260409020600901805483919083908110620028d157620028d162004762565b90600052602060002001541415620028ed576000925062002926565b6000848152601560205260409020600901805491935083918290811062002918576200291862004762565b906000526020600020015491505b8062002932816200478e565b9150506200280c565b826200298b576000848152601560205260409020600801805460ff1916600290811790915584906000805160206200515e833981519152905b60405190815260200160405180910390a262002faf565b6004546000858152601560205260409020600201544291620029ae9190620030e5565b1015620029ed576000848152601560205260409020600801805460ff1916600490811790915584906000805160206200515e8339815191529062002974565b600084815260156020526040812060088101805460ff191660031790556009015462002a399062002a209060016200340b565b60008781526015602052604090206003015490620030c9565b905062002a5462002a4c8560016200340b565b8290620030b4565b9150600062002a648383620030e5565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002ab757600080fd5b505af115801562002acc573d6000803e3d6000fd5b505050505b8083101562002f0657600086815260156020526040812060030180548590811062002b005762002b0062004762565b6000918252602090912001546001600160a01b03161480159062002b605750600086815260156020526040812060040180548590811062002b455762002b4562004762565b90600052602060002001805462002b5c90620044d6565b9050115b1562002ef157600086815260156020526040812060040180548590811062002b8c5762002b8c62004762565b90600052602060002001805462002ba390620044d6565b80601f016020809104026020016040519081016040528092919081815260200182805462002bd190620044d6565b801562002c225780601f1062002bf65761010080835404028352916020019162002c22565b820191906000526020600020905b81548152906001019060200180831162002c0457829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062002c705762002c7062004762565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a8154811062002cb95762002cb962004762565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801562002d1e57600080fd5b505af192505050801562002d30575060015b62002d8c5762002d3f620047ac565b806308c379a0141562002d80575062002d57620047c9565b8062002d64575062002d82565b8060405162461bcd60e51b815260040162000d36919062003c26565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811062002dbf5762002dbf62004762565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b03909216918890811062002dfe5762002dfe62004762565b9060005260206000200154601560008c8152602001908152602001600020600401888154811062002e335762002e3362004762565b9060005260206000200160405162002e4c919062004859565b60006040518083038185875af1925050503d806000811462002e8b576040519150601f19603f3d011682016040523d82523d6000602084013e62002e90565b606091505b505090508062002ee35760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000d36565b50506017805460ff19169055505b8262002efd816200478e565b93505062002ad1565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801562002f4c57600080fd5b505af115801562002f61573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f879190620048fd565b50856000805160206200515e833981519152600360405190815260200160405180910390a250505b600c5462002fbf9060016200340b565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b604a546001600160a01b031633146200303f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000d36565b6001600160a01b038116620030a65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000d36565b620030b18162003419565b50565b6000620030c2828462004921565b9392505050565b6000620030c2828462004959565b6000620030c2828462004970565b6000620030c2828462004987565b60008381526014602090815260408083206001600160a01b0388168452825280832060010154868452601590925290912060090180546200316992849262003162928790811062003148576200314862004762565b90600052602060002001546200340b90919063ffffffff16565b90620030e5565b60008481526015602052604090206009018054849081106200318f576200318f62004762565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154620031f6856001600160a01b031660009081526012602052604090206001015490565b10156200322b576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a3600754156200334e576000620032a1620032976008543a6200346b90919063ffffffff16565b60075490620030b4565b9050804710158015620032b35750333b155b156200334c57604051600090339083908381818185875af1925050503d8060008114620032fd576040519150601f19603f3d011682016040523d82523d6000602084013e62003302565b606091505b505090508062001a4e5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000d36565b505b50505050565b60175462010000900460ff1680620033745750601754610100900460ff16155b620033935760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff16158015620033b9576017805462ffff001916620101001790555b620033c362003483565b620033cd620034fd565b8015620030b1576017805462ff00001916905550565b6000806000620033f485856200356d565b915091506200340381620035e3565b509392505050565b6000620030c28284620049a2565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008183106200347c5781620030c2565b5090919050565b60175462010000900460ff1680620034a35750601754610100900460ff16155b620034c25760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff16158015620033cd576017805462ffff001916620101001790558015620030b1576017805462ff00001916905550565b60175462010000900460ff16806200351d5750601754610100900460ff16155b6200353c5760405162461bcd60e51b815260040162000d369062004714565b60175462010000900460ff1615801562003562576017805462ffff001916620101001790555b620033cd3362003419565b600080825160411415620035a85760208301516040840151606085015160001a6200359b87828585620037b6565b9450945050505062000e7d565b825160401415620035d65760208301516040840151620035ca868383620038ab565b93509350505062000e7d565b5060009050600262000e7d565b6000816004811115620035fa57620035fa6200417e565b1415620036045750565b60018160048111156200361b576200361b6200417e565b14156200366b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000d36565b60028160048111156200368257620036826200417e565b1415620036d25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000d36565b6003816004811115620036e957620036e96200417e565b1415620037445760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000d36565b60048160048111156200375b576200375b6200417e565b1415620030b15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000d36565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620037ef5750600090506003620038a2565b8460ff16601b141580156200380857508460ff16601c14155b156200381b5750600090506004620038a2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562003870573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166200389b57600060019250925050620038a2565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620038ce87828885620037b6565b935093505050935093915050565b82805482825590600052602060002090810192821562003934579160200282015b828111156200393457825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620038fd565b506200394292915062003ade565b5090565b82805482825590600052602060002090810192821562003998579160200282015b8281111562003998578251805162003987918491602090910190620039e4565b509160200191906001019062003967565b506200394292915062003af5565b82805482825590600052602060002090810192821562003934579160200282015b8281111562003934578251825591602001919060010190620039c7565b828054620039f290620044d6565b90600052602060002090601f01602090048101928262003a16576000855562003934565b82601f1062003a3157805160ff191683800117855562003934565b8280016001018555821562003934579182018281111562003934578251825591602001919060010190620039c7565b6107a180620049bd83390190565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003ad15762003ad16200417e565b8152602001606081525090565b5b8082111562003942576000815560010162003adf565b808211156200394257600062003b0c828262003b16565b5060010162003af5565b50805462003b2490620044d6565b6000825580601f1062003b35575050565b601f016020900490600052602060002090810190620030b1919062003ade565b6020808252825182820181905260009190848201906040850190845b8181101562003b8f5783518352928401929184019160010162003b71565b50909695505050505050565b80356001600160a01b038116811462003bb357600080fd5b919050565b60006020828403121562003bcb57600080fd5b620030c28262003b9b565b6000815180845260005b8181101562003bfe5760208185018101518683018201520162003be0565b8181111562003c11576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620030c2602083018462003bd6565b6000806000806000806000806000806101408b8d03121562003c5c57600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121562003cb857600080fd5b8235915062003cca6020840162003b9b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562003d125762003d1262003cd3565b6040525050565b600067ffffffffffffffff82111562003d365762003d3662003cd3565b5060051b60200190565b600082601f83011262003d5257600080fd5b8135602062003d618262003d19565b60405162003d70828262003ce9565b83815260059390931b850182019282810191508684111562003d9157600080fd5b8286015b8481101562003db75762003da98162003b9b565b835291830191830162003d95565b509695505050505050565b600082601f83011262003dd457600080fd5b813567ffffffffffffffff81111562003df15762003df162003cd3565b60405162003e0a601f8301601f19166020018262003ce9565b81815284602083860101111562003e2057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011262003e4f57600080fd5b8135602062003e5e8262003d19565b60405162003e6d828262003ce9565b83815260059390931b850182019282810191508684111562003e8e57600080fd5b8286015b8481101562003db757803567ffffffffffffffff81111562003eb45760008081fd5b62003ec48986838b010162003dc2565b84525091830191830162003e92565b600082601f83011262003ee557600080fd5b8135602062003ef48262003d19565b60405162003f03828262003ce9565b83815260059390931b850182019282810191508684111562003f2457600080fd5b8286015b8481101562003db7578035835291830191830162003f28565b60008060008060008060c0878903121562003f5b57600080fd5b863567ffffffffffffffff8082111562003f7457600080fd5b62003f828a838b0162003d40565b9750602089013591508082111562003f9957600080fd5b62003fa78a838b0162003e3d565b9650604089013591508082111562003fbe57600080fd5b62003fcc8a838b0162003ed3565b955060608901359450608089013591508082111562003fea57600080fd5b62003ff88a838b0162003dc2565b935060a08901359150808211156200400f57600080fd5b506200401e89828a0162003dc2565b9150509295509295509295565b6000806000606084860312156200404157600080fd5b505081359360208301359350604090920135919050565b60008060008060008060008060008060006101608c8e0312156200407b57600080fd5b620040868c62003b9b565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c01359250620040d06101208d0162003b9b565b9150620040e16101408d0162003b9b565b90509295989b509295989b9093969950565b600080600080600060a086880312156200410c57600080fd5b8535945060208601359350604086013592506200412c6060870162003b9b565b9150608086013567ffffffffffffffff8111156200414957600080fd5b620041578882890162003dc2565b9150509295509295909350565b6000602082840312156200417757600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110620041b357634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c060608201526000620041e660c083018662003bd6565b8281036080840152620041fa818662003bd6565b9150506200420c60a083018462004194565b979650505050505050565b60008060008060008060008060008060006101608c8e0312156200423a57600080fd5b620042458c62003b9b565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff8111156200427e57600080fd5b6200428c8e828f0162003dc2565b96505060c08c0135945060e08c013593506101008c013592506101208c01359150620040e16101408d0162003b9b565b600081518084526020808501945080840160005b83811015620042f75781516001600160a01b031687529582019590820190600101620042d0565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b858110156200434e5782840389526200433b84835162003bd6565b9885019893509084019060010162004320565b5091979650505050505050565b600081518084526020808501945080840160005b83811015620042f7578151875295820195908201906001016200436f565b60208152620043a86020820183516001600160a01b03169052565b602082015160408201526040820151606082015260006060830151610140806080850152620043dc610160850183620042bc565b91506080850151601f19808685030160a0870152620043fc848362004302565b935060a08701519150808685030160c08701526200441b84836200435b565b935060c08701519150808685030160e08701526200443a848362003bd6565b935060e087015191506101008187860301818801526200445b858462003bd6565b945080880151925050610120620044758188018462004194565b8701518685039091018387015290506200449083826200435b565b9695505050505050565b60008060008060808587031215620044b157600080fd5b620044bc8562003b9b565b966020860135965060408601359560600135945092505050565b600181811c90821680620044eb57607f821691505b602082108114156200450d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620047a557620047a562004778565b5060010190565b600060033d1115620047c65760046000803e5060005160e01c5b90565b600060443d1015620047d85790565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156200480957505050505090565b8285019150815181811115620048225750505050505090565b843d87010160208285010111156200483d5750505050505090565b6200484e6020828601018762003ce9565b509095945050505050565b600080835481600182811c9150808316806200487657607f831692505b60208084108214156200489757634e487b7160e01b86526022600452602486fd5b818015620048ae5760018114620048c057620048ef565b60ff19861689528489019650620048ef565b60008a81526020902060005b86811015620048e75781548b820152908501908301620048cc565b505084890196505b509498975050505050505050565b6000602082840312156200491057600080fd5b81518015158114620030c257600080fd5b60008160001904831182151516156200493e576200493e62004778565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200496b576200496b62004943565b500490565b60008262004982576200498262004943565b500690565b600082198211156200499d576200499d62004778565b500190565b600082821015620049b757620049b762004778565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212205df22236efdb5ec7497ab2be84ba9415cf942e23dd28a89fa3ed58aa250900f264736f6c63430008080033", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "DXDGuild", + "sourceName": "dxdao-contracts/contracts/erc20guild/implementations/DXDGuild.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newState", + "type": "uint256" + } + ], + "name": "ProposalStateChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "VoteAdded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "MAX_OPTIONS_PER_PROPOSAL", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activeProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "totalOptions", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + } + ], + "name": "createProposal", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "endProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "executeSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "roots", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "voters", + "type": "address[]" + }, + { + "internalType": "bytes32[]", + "name": "votesHashes", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[][]", + "name": "proofs", + "type": "bytes32[][]" + }, + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeSignedVotesBatches", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeVotes", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getActiveProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getName", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPermissionRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + }, + { + "internalType": "uint256[]", + "name": "totalVotes", + "type": "uint256[]" + } + ], + "internalType": "struct BaseERC20Guild.Proposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getProposalVotesOfVoter", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIds", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIdsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "signedVoteHash", + "type": "bytes32" + } + ], + "name": "getSignedVote", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTimeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTokenVault", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalMembers", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getVoterLockTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "hashVote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_permissionRegistry", + "type": "address" + }, + { + "internalType": "address", + "name": "_votingMachine", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_permissionRegistry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "lockTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "proposalVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposalsIds", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumMembersForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumTokensLockedForProposalCreation", + "type": "uint256" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "setSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "setVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "signedVotes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "timeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20Upgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenVault", + "outputs": [ + { + "internalType": "contract TokenVault", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tokensLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "validateMerkleTreeLeaf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "voteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "votingPowerOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdrawTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50615edf80620000216000396000f3fe608060405260043610620003e55760003560e01c8063671abed71162000203578063ad6c1e341162000117578063e045035311620000a7578063f4732da61162000075578063f4732da61462000c06578063f98606a71462000c1d578063fc0c546a1462000c35578063fc4e703f1462000c5757005b8063e04503531462000b6e578063e158080a1462000b86578063f09951981462000b9e578063f2fde38b1462000be157005b8063b7c15f8d11620000e5578063b7c15f8d1462000b04578063bcc3f3bd1462000b1b578063c0a4d64d1462000b40578063c93e01e31462000b5757005b8063ad6c1e341462000a8b578063ae6192341462000aa2578063b3929aaa1462000aba578063b3b470611462000adf57005b80638bb8591e1162000193578063a16fe3421162000161578063a16fe3421462000a16578063a78d80fc1462000a36578063a7aeb5571462000a4e578063ab6ea06b1462000a6657005b80638bb8591e14620009955780638da5cb5b14620009ba5780638f18030514620009da57806392b7165414620009f157005b806377027ff411620001d157806377027ff4146200090e5780638029eff1146200092557806386e27125146200095957806389c98c06146200097e57005b8063671abed714620008865780636c8b72f614620008ba5780636e27d88914620008d1578063715018a614620008f657005b806325c069fc11620002fb5780633de39c11116200028b57806356891412116200025957806356891412146200081d5780635bc789d914620008355780635e508c2c146200085757806364fe6ed2146200086f57005b80633de39c1114620007995780633f10cf1514620007b1578063430694cf14620007c957806354f2f7af14620007fd57005b8063315a095d11620002c9578063315a095d14620006fe57806332ed5b12146200072357806336f8f8d9146200075c5780633bf353fb146200078157005b806325c069fc146200062d5780632d5b17de14620006575780632d757c3e146200067c5780632fd99c0014620006b957005b806316bbecde116200037757806321df0da7116200034557806321df0da714620005a65780632229a0e214620005da5780632457e39314620005f15780632467ef94146200061657005b806316bbecde146200053a57806317d7de7c146200055f578063184a0ae914620005775780631a5007dd146200058f57005b80630d66808711620003b55780630d66808714620004b3578063123f6d6714620004cb578063130485fe14620004f057806313108d74146200051557005b80623a40d014620003e757806301a598a6146200041757806306fdde0314620004655780630a366a63146200048c575b005b348015620003f457600080fd5b50620003ff62000c6f565b6040516200040e919062004530565b60405180910390f35b3480156200042457600080fd5b506200044f6200043636600462004593565b6012602052600090815260409020805460019091015482565b604080519283526020830191909152016200040e565b3480156200047257600080fd5b506200047d62000cc9565b6040516200040e919062004601565b3480156200049957600080fd5b50620004a462000d5f565b6040519081526020016200040e565b348015620004c057600080fd5b50620004a4600d5481565b348015620004d857600080fd5b50620003e5620004ea36600462004616565b62000d8c565b348015620004fd57600080fd5b506200044f6200050f3660046200467f565b62000f25565b3480156200052257600080fd5b50620004a46200053436600462004918565b62000f57565b3480156200054757600080fd5b50620003e56200055936600462004a01565b6200153d565b3480156200056c57600080fd5b506200047d62001684565b3480156200058457600080fd5b50620004a460035481565b3480156200059c57600080fd5b50600a54620004a4565b348015620005b357600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016200040e565b348015620005e757600080fd5b50601654620004a4565b348015620005fe57600080fd5b50620003e56200061036600462004a2e565b62001715565b3480156200062357600080fd5b50600c54620004a4565b3480156200063a57600080fd5b5062000644600a81565b60405160ff90911681526020016200040e565b3480156200066457600080fd5b50620003e56200067636600462004ac9565b6200185e565b3480156200068957600080fd5b50620004a46200069b36600462004593565b6001600160a01b031660009081526012602052604090206001015490565b348015620006c657600080fd5b50620006ed620006d836600462004b39565b60136020526000908152604090205460ff1681565b60405190151581526020016200040e565b3480156200070b57600080fd5b50620003e56200071d36600462004b39565b62001b24565b3480156200073057600080fd5b50620007486200074236600462004b39565b62001d7f565b6040516200040e9695949392919062004b8c565b3480156200076957600080fd5b50620003e56200077b36600462004bec565b62001ee3565b3480156200078e57600080fd5b50620004a4600c5481565b348015620007a657600080fd5b50620004a460085481565b348015620007be57600080fd5b50620004a460045481565b348015620007d657600080fd5b50620007ee620007e836600462004b39565b62002109565b6040516200040e919062004d5e565b3480156200080a57600080fd5b506011546001600160a01b0316620005c1565b3480156200082a57600080fd5b50620004a4600e5481565b3480156200084257600080fd5b50601154620005c1906001600160a01b031681565b3480156200086457600080fd5b50620004a460055481565b3480156200087c57600080fd5b50601054620004a4565b3480156200089357600080fd5b50620008ab620008a536600462004e6b565b620024bc565b6040516200040e919062004efc565b348015620008c757600080fd5b50600754620004a4565b348015620008de57600080fd5b50620003e5620008f036600462004b39565b6200292d565b3480156200090357600080fd5b50620003e562002abd565b3480156200091b57600080fd5b50600954620004a4565b3480156200093257600080fd5b50620006ed6200094436600462004b39565b60009081526013602052604090205460ff1690565b3480156200096657600080fd5b50620003e56200097836600462004f38565b62002b27565b3480156200098b57600080fd5b50600854620004a4565b348015620009a257600080fd5b50620003e5620009b43660046200504e565b62002de6565b348015620009c757600080fd5b50604a546001600160a01b0316620005c1565b348015620009e757600080fd5b50600b54620004a4565b348015620009fe57600080fd5b50620004a462000a103660046200517e565b62002ee7565b34801562000a2357600080fd5b506001546001600160a01b0316620005c1565b34801562000a4357600080fd5b50620004a4600a5481565b34801562000a5b57600080fd5b50620004a4600f5481565b34801562000a7357600080fd5b50620006ed62000a85366004620051ba565b62002f3e565b34801562000a9857600080fd5b50600f54620004a4565b34801562000aaf57600080fd5b50620004a462002f55565b34801562000ac757600080fd5b50620004a462000ad936600462004b39565b62002f6f565b34801562000aec57600080fd5b50620003e562000afe36600462004b39565b62002f91565b34801562000b1157600080fd5b50600454620004a4565b34801562000b2857600080fd5b50620004a462000b3a36600462004593565b620038de565b34801562000b4d57600080fd5b50600d54620004a4565b34801562000b6457600080fd5b50600354620004a4565b34801562000b7b57600080fd5b50620004a460095481565b34801562000b9357600080fd5b50620004a460105481565b34801562000bab57600080fd5b506200044f62000bbd3660046200467f565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000bee57600080fd5b50620003e562000c0036600462004593565b620038f9565b34801562000c1357600080fd5b50600e54620004a4565b34801562000c2a57600080fd5b50620004a460065481565b34801562000c4257600080fd5b50600054620005c1906001600160a01b031681565b34801562000c6457600080fd5b50620004a460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000cbf57602002820191906000526020600020905b81548152602001906001019080831162000caa575b5050505050905090565b6002805462000cd89062005203565b80601f016020809104026020016040519081016040528092919081815260200182805462000d069062005203565b801562000d575780601f1062000d2b5761010080835404028352916020019162000d57565b820191906000526020600020905b81548152906001019060200180831162000d3957829003601f168201915b505050505081565b600062000d8761271062000d8060065462000d79600e5490565b90620039ca565b90620039df565b905090565b33301462000e125760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000e355760405162461bcd60e51b815260040162000e099062005240565b8983101562000e585760405162461bcd60e51b815260040162000e09906200528f565b6000881162000e7b5760405162461bcd60e51b815260040162000e0990620052ec565b6201c90886111562000ef65760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000e09565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000fd55760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000e09565b600f54600b541015620010475760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000e09565b600954600c5410620010bb5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000e09565b620010c562000d5f565b620010d033620038de565b10156200113e5760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000e09565b8551875114801562001151575084518751145b620011bc5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000e09565b6000875111620012295760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000e09565b865184111580156200124657508451620012449085620039ed565b155b620012ba5760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000e09565b600a841115620013335760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000e09565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620013956001600a54620039fb90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b031916331781554260018201819055600354620013cd9190620039fb565b60028201558851620013e990600383019060208c0190620042b7565b5087516200140190600483019060208b019062004321565b5086516200141990600583019060208a019062004381565b508451620014319060068301906020880190620043bf565b508351620014499060078301906020870190620043bf565b5062001457866001620039fb565b6001600160401b03811115620014715762001471620046ae565b6040519080825280602002602001820160405280156200149b578160200160208202803683370190505b508051620014b491600984019160209091019062004381565b5060088101805460ff19166001908117909155600c54620014d591620039fb565b600c558160008051602062005e8a833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000838152601560205260409020600201544210620015705760405162461bcd60e51b815260040162000e099062005349565b806200157c33620038de565b10158015620015a65750600083815260146020908152604080832033845290915290206001015481115b620015c55760405162461bcd60e51b815260040162000e099062005394565b60008381526014602090815260408083203384529091529020541580156200160757506000838152601460209081526040808320338452909152902060010154155b80620016525750600083815260146020908152604080832033845290915290205482148015620016525750600083815260146020908152604080832033845290915290206001015481115b620016715760405162461bcd60e51b815260040162000e0990620053da565b6200167f3384848462003a09565b505050565b606060028054620016959062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620016c39062005203565b801562000cbf5780601f10620016e85761010080835404028352916020019162000cbf565b820191906000526020600020905b815481529060010190602001808311620016f657509395945050505050565b60175462010000900460ff1680620017355750601754610100900460ff16155b620017545760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff161580156200177a576017805462ffff001916620101001790555b6200178462003c6a565b620017b98c8c8c8c8c6040518060400160405280600881526020016711161111dd5a5b1960c21b8152508d8d8d8d8d62001ee3565b60018054604051636cfe048960e01b81523060048201526001600160a01b03858116602483015263359afa4960e01b6044830152600060648301526084820193909352911690636cfe04899060a401600060405180830381600087803b1580156200182357600080fd5b505af115801562001838573d6000803e3d6000fd5b50505050801562001850576017805462ff0000191690555b505050505050505050505050565b6000858152601560205260409020600201544210620018915760405162461bcd60e51b815260040162000e099062005349565b6000620018a18387878762002ee7565b60008181526013602052604090205490915060ff1615620019015760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000e09565b62001965826200195e836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003cf9565b6001600160a01b0316836001600160a01b031614620019c75760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000e09565b6000818152601360205260409020805460ff1916600117905583620019ec84620038de565b1015801562001a1f575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b62001a3e5760405162461bcd60e51b815260040162000e099062005394565b60008681526014602090815260408083206001600160a01b038716845290915290205415801562001a92575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001aef575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001aef575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b62001b0e5760405162461bcd60e51b815260040162000e0990620053da565b62001b1c8387878762003a09565b505050505050565b8062001b3033620038de565b101562001b9f5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000e09565b33600090815260126020526040902060010154421162001c025760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000e09565b6000811162001c7a5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000e09565b3360009081526012602052604090205462001c96908262003d21565b33600090815260126020526040902055600e5462001cb5908262003d21565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001d0557600080fd5b505af115801562001d1a573d6000803e3d6000fd5b5050505062001d2933620038de565b62001d4257600b5462001d3e90600162003d21565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001dbb9062005203565b80601f016020809104026020016040519081016040528092919081815260200182805462001de99062005203565b801562001e3a5780601f1062001e0e5761010080835404028352916020019162001e3a565b820191906000526020600020905b81548152906001019060200180831162001e1c57829003601f168201915b50505050509080600701805462001e519062005203565b80601f016020809104026020016040519081016040528092919081815260200182805462001e7f9062005203565b801562001ed05780601f1062001ea45761010080835404028352916020019162001ed0565b820191906000526020600020905b81548152906001019060200180831162001eb257829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001f035750601754610100900460ff16155b62001f225760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562001f48576017805462ffff001916620101001790555b6001600160a01b038c1662001faf5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000e09565b60008b1162001fd25760405162461bcd60e51b815260040162000e099062005240565b8a83101562001ff55760405162461bcd60e51b815260040162000e09906200528f565b60008911620020185760405162461bcd60e51b815260040162000e0990620052ec565b86516200202d9060029060208a0190620043bf565b50600080546001600160a01b0319166001600160a01b038e1690811790915560405130906200205c906200443b565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562002090573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001850576017805462ff000019169055505050505050505050505050565b6200211362004449565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620021a857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002189575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156200228c578382906000526020600020018054620021f89062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620022269062005203565b8015620022775780601f106200224b5761010080835404028352916020019162002277565b820191906000526020600020905b8154815290600101906020018083116200225957829003601f168201915b505050505081526020019060010190620021d6565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015620022e557602002820191906000526020600020905b815481526020019060010190808311620022d0575b50505050508152602001600682018054620023009062005203565b80601f01602080910402602001604051908101604052809291908181526020018280546200232e9062005203565b80156200237f5780601f1062002353576101008083540402835291602001916200237f565b820191906000526020600020905b8154815290600101906020018083116200236157829003601f168201915b505050505081526020016007820180546200239a9062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620023c89062005203565b8015620024195780601f10620023ed5761010080835404028352916020019162002419565b820191906000526020600020905b815481529060010190602001808311620023fb57829003601f168201915b5050509183525050600882015460209091019060ff16600481111562002443576200244362004b53565b600481111562002457576200245762004b53565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015620024ac57602002820191906000526020600020905b81548152602001906001019080831162002497575b5050505050815250509050919050565b606082518451148015620024d1575081518351145b620025455760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000e09565b60008085516001600160401b03811115620025645762002564620046ae565b6040519080825280602002602001820160405280156200258e578160200160208202803683370190505b509050600091505b855182101562002924574260156000888581518110620025ba57620025ba6200548f565b6020026020010151815260200190815260200160002060020154101562002608576000818381518110620025f257620025f26200548f565b911515602092830291909101909101526200290f565b8382815181106200261d576200261d6200548f565b60200260200101516200263033620038de565b1080620026ad5750601460008784815181106200265157620026516200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154848381518110620026a357620026a36200548f565b6020026020010151105b15620026ca576000818381518110620025f257620025f26200548f565b60146000878481518110620026e357620026e36200548f565b6020908102919091018101518252818101929092526040908101600090812033825290925290205415806200276d5750601460008784815181106200272c576200272c6200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b80156200286757508482815181106200278a576200278a6200548f565b602002602001015160146000888581518110620027ab57620027ab6200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060000154141580156200286757508382815181106200280757620028076200548f565b6020026020010151601460008885815181106200282857620028286200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b1562002884576000818381518110620025f257620025f26200548f565b60018183815181106200289b576200289b6200548f565b6020026020010190151590811515815250506200290f33878481518110620028c757620028c76200548f565b6020026020010151878581518110620028e457620028e46200548f565b60200260200101518786815181106200290157620029016200548f565b602002602001015162003a09565b816200291b81620054bb565b92505062002596565b95945050505050565b600081116200299a5760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000e09565b620029a533620038de565b620029be57600b54620029ba906001620039fb565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b15801562002a0b57600080fd5b505af115801562002a20573d6000803e3d6000fd5b50503360009081526012602052604090205462002a419250905082620039fb565b33600090815260126020526040902055600d5462002a61904290620039fb565b33600090815260126020526040902060010155600e5462002a839082620039fb565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001d74565b604a546001600160a01b0316331462002b195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000e09565b62002b25600062003d2f565b565b600062002b378785858562002ee7565b905085811462002b8a5760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000e09565b60008181526013602052604090205460ff161562002be75760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000e09565b600062002bf689888862002f3e565b90508062002c535760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000e09565b600085815260156020526040902060020154421062002c865760405162461bcd60e51b815260040162000e099062005349565b8262002c9289620038de565b1015801562002cc5575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002ce45760405162461bcd60e51b815260040162000e099062005394565b60008581526014602090815260408083206001600160a01b038c16845290915290205415801562002d38575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b8062002d95575060008581526014602090815260408083206001600160a01b038c1684529091529020548414801562002d95575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002db45760405162461bcd60e51b815260040162000e0990620053da565b6000828152601360205260409020805460ff1916600117905562002ddb8886868662003a09565b505050505050505050565b60005b875181101562002edd5762002ec888828151811062002e0c5762002e0c6200548f565b602002602001015188838151811062002e295762002e296200548f565b602002602001015188848151811062002e465762002e466200548f565b602002602001015188858151811062002e635762002e636200548f565b602002602001015188868151811062002e805762002e806200548f565b602002602001015188878151811062002e9d5762002e9d6200548f565b602002602001015188888151811062002eba5762002eba6200548f565b602002602001015162002b27565b8062002ed481620054bb565b91505062002de9565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062002f4d82858562003d81565b949350505050565b600062000d8761271062000d8060055462000d79600e5490565b6016818154811062002f8057600080fd5b600091825260209091200154905081565b60175460ff161562002ff25760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000e09565b600160008281526015602052604090206008015460ff1660048111156200301d576200301d62004b53565b146200307a5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000e09565b6000818152601560205260409020600201544211620030ea5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000e09565b6000818152601560205260408120600901805482919082906200311157620031116200548f565b600091825260209091200154905060015b60008481526015602052604090206009015481101562003251576200314662002f55565b60008581526015602052604090206009018054839081106200316c576200316c6200548f565b906000526020600020015410158015620031b857506000848152601560205260409020600901805483919083908110620031aa57620031aa6200548f565b906000526020600020015410155b156200323c576000848152601560205260409020600901805483919083908110620031e757620031e76200548f565b906000526020600020015414156200320357600092506200323c565b600084815260156020526040902060090180549193508391829081106200322e576200322e6200548f565b906000526020600020015491505b806200324881620054bb565b91505062003122565b82620032a1576000848152601560205260409020600801805460ff19166002908117909155849060008051602062005e8a833981519152905b60405190815260200160405180910390a2620038c5565b6004546000858152601560205260409020600201544291620032c49190620039fb565b101562003303576000848152601560205260409020600801805460ff19166004908117909155849060008051602062005e8a833981519152906200328a565b600084815260156020526040812060088101805460ff19166003179055600901546200334f906200333690600162003d21565b60008781526015602052604090206003015490620039df565b90506200336a6200336285600162003d21565b8290620039ca565b915060006200337a8383620039fb565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505050505b808310156200381c5760008681526015602052604081206003018054859081106200341657620034166200548f565b6000918252602090912001546001600160a01b03161480159062003476575060008681526015602052604081206004018054859081106200345b576200345b6200548f565b906000526020600020018054620034729062005203565b9050115b1562003807576000868152601560205260408120600401805485908110620034a257620034a26200548f565b906000526020600020018054620034b99062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620034e79062005203565b8015620035385780601f106200350c5761010080835404028352916020019162003538565b820191906000526020600020905b8154815290600101906020018083116200351a57829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed4703392503091899081106200358657620035866200548f565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a81548110620035cf57620035cf6200548f565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200363457600080fd5b505af192505050801562003646575060015b620036a25762003655620054d9565b806308c379a014156200369657506200366d620054f6565b806200367a575062003698565b8060405162461bcd60e51b815260040162000e09919062004601565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000888152601560205260408120600301805487908110620036d557620036d56200548f565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b0390921691889081106200371457620037146200548f565b9060005260206000200154601560008c815260200190815260200160002060040188815481106200374957620037496200548f565b9060005260206000200160405162003762919062005585565b60006040518083038185875af1925050503d8060008114620037a1576040519150601f19603f3d011682016040523d82523d6000602084013e620037a6565b606091505b5050905080620037f95760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000e09565b50506017805460ff19169055505b826200381381620054bb565b935050620033e7565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156200386257600080fd5b505af115801562003877573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200389d919062005629565b508560008051602062005e8a833981519152600360405190815260200160405180910390a250505b600c54620038d590600162003d21565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b604a546001600160a01b03163314620039555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000e09565b6001600160a01b038116620039bc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000e09565b620039c78162003d2f565b50565b6000620039d882846200564d565b9392505050565b6000620039d8828462005685565b6000620039d882846200569c565b6000620039d88284620056b3565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462003a7f92849262003a78928790811062003a5e5762003a5e6200548f565b906000526020600020015462003d2190919063ffffffff16565b90620039fb565b600084815260156020526040902060090180548490811062003aa55762003aa56200548f565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003b0c856001600160a01b031660009081526012602052604090206001015490565b101562003b41576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003c6457600062003bb762003bad6008543a62003d9990919063ffffffff16565b60075490620039ca565b905080471015801562003bc95750333b155b1562003c6257604051600090339083908381818185875af1925050503d806000811462003c13576040519150601f19603f3d011682016040523d82523d6000602084013e62003c18565b606091505b505090508062001b1c5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000e09565b505b50505050565b60175462010000900460ff168062003c8a5750601754610100900460ff16155b62003ca95760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562003ccf576017805462ffff001916620101001790555b62003cd962003db1565b62003ce362003e2b565b8015620039c7576017805462ff00001916905550565b600080600062003d0a858562003e9b565b9150915062003d198162003f11565b509392505050565b6000620039d88284620056ce565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008262003d908584620040e4565b14949350505050565b600081831062003daa5781620039d8565b5090919050565b60175462010000900460ff168062003dd15750601754610100900460ff16155b62003df05760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562003ce3576017805462ffff001916620101001790558015620039c7576017805462ff00001916905550565b60175462010000900460ff168062003e4b5750601754610100900460ff16155b62003e6a5760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562003e90576017805462ffff001916620101001790555b62003ce33362003d2f565b60008082516041141562003ed65760208301516040840151606085015160001a62003ec98782858562004191565b9450945050505062000f50565b82516040141562003f04576020830151604084015162003ef886838362004286565b93509350505062000f50565b5060009050600262000f50565b600081600481111562003f285762003f2862004b53565b141562003f325750565b600181600481111562003f495762003f4962004b53565b141562003f995760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000e09565b600281600481111562003fb05762003fb062004b53565b1415620040005760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000e09565b600381600481111562004017576200401762004b53565b1415620040725760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000e09565b600481600481111562004089576200408962004b53565b1415620039c75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000e09565b600081815b845181101562003d195760008582815181106200410a576200410a6200548f565b602002602001015190508083116200414e5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506200417b565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806200418881620054bb565b915050620040e9565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620041ca57506000905060036200427d565b8460ff16601b14158015620041e357508460ff16601c14155b15620041f657506000905060046200427d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156200424b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662004276576000600192509250506200427d565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620042a98782888562004191565b935093505050935093915050565b8280548282559060005260206000209081019282156200430f579160200282015b828111156200430f57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620042d8565b506200431d929150620044b9565b5090565b82805482825590600052602060002090810192821562004373579160200282015b8281111562004373578251805162004362918491602090910190620043bf565b509160200191906001019062004342565b506200431d929150620044d0565b8280548282559060005260206000209081019282156200430f579160200282015b828111156200430f578251825591602001919060010190620043a2565b828054620043cd9062005203565b90600052602060002090601f016020900481019282620043f157600085556200430f565b82601f106200440c57805160ff19168380011785556200430f565b828001600101855582156200430f57918201828111156200430f578251825591602001919060010190620043a2565b6107a180620056e983390190565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115620044ac57620044ac62004b53565b8152602001606081525090565b5b808211156200431d5760008155600101620044ba565b808211156200431d576000620044e78282620044f1565b50600101620044d0565b508054620044ff9062005203565b6000825580601f1062004510575050565b601f016020900490600052602060002090810190620039c79190620044b9565b6020808252825182820181905260009190848201906040850190845b818110156200456a578351835292840192918401916001016200454c565b50909695505050505050565b80356001600160a01b03811681146200458e57600080fd5b919050565b600060208284031215620045a657600080fd5b620039d88262004576565b6000815180845260005b81811015620045d957602081850181015186830182015201620045bb565b81811115620045ec576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620039d86020830184620045b1565b6000806000806000806000806000806101408b8d0312156200463757600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200469357600080fd5b82359150620046a56020840162004576565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715620046ec57620046ec620046ae565b6040525050565b60006001600160401b038211156200470f576200470f620046ae565b5060051b60200190565b600082601f8301126200472b57600080fd5b813560206200473a82620046f3565b604051620047498282620046c4565b83815260059390931b85018201928281019150868411156200476a57600080fd5b8286015b848110156200479057620047828162004576565b83529183019183016200476e565b509695505050505050565b600082601f830112620047ad57600080fd5b81356001600160401b03811115620047c957620047c9620046ae565b604051620047e2601f8301601f191660200182620046c4565b818152846020838601011115620047f857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200482757600080fd5b813560206200483682620046f3565b604051620048458282620046c4565b83815260059390931b85018201928281019150868411156200486657600080fd5b8286015b84811015620047905780356001600160401b038111156200488b5760008081fd5b6200489b8986838b01016200479b565b8452509183019183016200486a565b600082601f830112620048bc57600080fd5b81356020620048cb82620046f3565b604051620048da8282620046c4565b83815260059390931b8501820192828101915086841115620048fb57600080fd5b8286015b84811015620047905780358352918301918301620048ff565b60008060008060008060c087890312156200493257600080fd5b86356001600160401b03808211156200494a57600080fd5b620049588a838b0162004719565b975060208901359150808211156200496f57600080fd5b6200497d8a838b0162004815565b965060408901359150808211156200499457600080fd5b620049a28a838b01620048aa565b9550606089013594506080890135915080821115620049c057600080fd5b620049ce8a838b016200479b565b935060a0890135915080821115620049e557600080fd5b50620049f489828a016200479b565b9150509295509295509295565b60008060006060848603121562004a1757600080fd5b505081359360208301359350604090920135919050565b60008060008060008060008060008060006101608c8e03121562004a5157600080fd5b62004a5c8c62004576565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c0135925062004aa66101208d0162004576565b915062004ab76101408d0162004576565b90509295989b509295989b9093969950565b600080600080600060a0868803121562004ae257600080fd5b85359450602086013593506040860135925062004b026060870162004576565b915060808601356001600160401b0381111562004b1e57600080fd5b62004b2c888289016200479b565b9150509295509295909350565b60006020828403121562004b4c57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811062004b8857634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062004bbb60c0830186620045b1565b828103608084015262004bcf8186620045b1565b91505062004be160a083018462004b69565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562004c0f57600080fd5b62004c1a8c62004576565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b0381111562004c5257600080fd5b62004c608e828f016200479b565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062004ab76101408d0162004576565b600081518084526020808501945080840160005b8381101562004ccb5781516001600160a01b03168752958201959082019060010162004ca4565b509495945050505050565b6000815180845260208085019450848260051b860182860160005b8581101562004d1f57838303895262004d0c838351620045b1565b9885019892509084019060010162004cf1565b5090979650505050505050565b600081518084526020808501945080840160005b8381101562004ccb5781518752958201959082019060010162004d40565b6020815262004d796020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015262004dad61016085018362004c90565b91506080850151601f19808685030160a087015262004dcd848362004cd6565b935060a08701519150808685030160c087015262004dec848362004d2c565b935060c08701519150808685030160e087015262004e0b8483620045b1565b935060e0870151915061010081878603018188015262004e2c8584620045b1565b94508088015192505061012062004e468188018462004b69565b87015186850390910183870152905062004e61838262004d2c565b9695505050505050565b60008060006060848603121562004e8157600080fd5b83356001600160401b038082111562004e9957600080fd5b62004ea787838801620048aa565b9450602086013591508082111562004ebe57600080fd5b62004ecc87838801620048aa565b9350604086013591508082111562004ee357600080fd5b5062004ef286828701620048aa565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200456a57835115158352928401929184019160010162004f18565b600080600080600080600060e0888a03121562004f5457600080fd5b8735965062004f666020890162004576565b95506040880135945060608801356001600160401b0381111562004f8957600080fd5b62004f978a828b01620048aa565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f83011262004fcb57600080fd5b8135602062004fda82620046f3565b60405162004fe98282620046c4565b83815260059390931b85018201928281019150868411156200500a57600080fd5b8286015b84811015620047905780356001600160401b038111156200502f5760008081fd5b6200503f8986838b0101620048aa565b8452509183019183016200500e565b600080600080600080600060e0888a0312156200506a57600080fd5b87356001600160401b03808211156200508257600080fd5b620050908b838c01620048aa565b985060208a0135915080821115620050a757600080fd5b620050b58b838c0162004719565b975060408a0135915080821115620050cc57600080fd5b620050da8b838c01620048aa565b965060608a0135915080821115620050f157600080fd5b620050ff8b838c0162004fb9565b955060808a01359150808211156200511657600080fd5b620051248b838c01620048aa565b945060a08a01359150808211156200513b57600080fd5b620051498b838c01620048aa565b935060c08a01359150808211156200516057600080fd5b506200516f8a828b01620048aa565b91505092959891949750929550565b600080600080608085870312156200519557600080fd5b620051a08562004576565b966020860135965060408601359560600135945092505050565b600080600060608486031215620051d057600080fd5b833592506020840135915060408401356001600160401b03811115620051f557600080fd5b62004ef286828701620048aa565b600181811c908216806200521857607f821691505b602082108114156200523a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620054d257620054d2620054a5565b5060010190565b600060033d1115620054f35760046000803e5060005160e01c5b90565b600060443d1015620055055790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156200553557505050505090565b82850191508151818111156200554e5750505050505090565b843d8701016020828501011115620055695750505050505090565b6200557a60208286010187620046c4565b509095945050505050565b600080835481600182811c915080831680620055a257607f831692505b6020808410821415620055c357634e487b7160e01b86526022600452602486fd5b818015620055da5760018114620055ec576200561b565b60ff198616895284890196506200561b565b60008a81526020902060005b86811015620056135781548b820152908501908301620055f8565b505084890196505b509498975050505050505050565b6000602082840312156200563c57600080fd5b81518015158114620039d857600080fd5b60008160001904831182151516156200566a576200566a620054a5565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200569757620056976200566f565b500490565b600082620056ae57620056ae6200566f565b500690565b60008219821115620056c957620056c9620054a5565b500190565b600082821015620056e357620056e3620054a5565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220d357a5987765a0d8dce91d2ab127fa48dab8ddc5a2ca41baf46e9820167934f664736f6c63430008080033", + "deployedBytecode": "0x608060405260043610620003e55760003560e01c8063671abed71162000203578063ad6c1e341162000117578063e045035311620000a7578063f4732da61162000075578063f4732da61462000c06578063f98606a71462000c1d578063fc0c546a1462000c35578063fc4e703f1462000c5757005b8063e04503531462000b6e578063e158080a1462000b86578063f09951981462000b9e578063f2fde38b1462000be157005b8063b7c15f8d11620000e5578063b7c15f8d1462000b04578063bcc3f3bd1462000b1b578063c0a4d64d1462000b40578063c93e01e31462000b5757005b8063ad6c1e341462000a8b578063ae6192341462000aa2578063b3929aaa1462000aba578063b3b470611462000adf57005b80638bb8591e1162000193578063a16fe3421162000161578063a16fe3421462000a16578063a78d80fc1462000a36578063a7aeb5571462000a4e578063ab6ea06b1462000a6657005b80638bb8591e14620009955780638da5cb5b14620009ba5780638f18030514620009da57806392b7165414620009f157005b806377027ff411620001d157806377027ff4146200090e5780638029eff1146200092557806386e27125146200095957806389c98c06146200097e57005b8063671abed714620008865780636c8b72f614620008ba5780636e27d88914620008d1578063715018a614620008f657005b806325c069fc11620002fb5780633de39c11116200028b57806356891412116200025957806356891412146200081d5780635bc789d914620008355780635e508c2c146200085757806364fe6ed2146200086f57005b80633de39c1114620007995780633f10cf1514620007b1578063430694cf14620007c957806354f2f7af14620007fd57005b8063315a095d11620002c9578063315a095d14620006fe57806332ed5b12146200072357806336f8f8d9146200075c5780633bf353fb146200078157005b806325c069fc146200062d5780632d5b17de14620006575780632d757c3e146200067c5780632fd99c0014620006b957005b806316bbecde116200037757806321df0da7116200034557806321df0da714620005a65780632229a0e214620005da5780632457e39314620005f15780632467ef94146200061657005b806316bbecde146200053a57806317d7de7c146200055f578063184a0ae914620005775780631a5007dd146200058f57005b80630d66808711620003b55780630d66808714620004b3578063123f6d6714620004cb578063130485fe14620004f057806313108d74146200051557005b80623a40d014620003e757806301a598a6146200041757806306fdde0314620004655780630a366a63146200048c575b005b348015620003f457600080fd5b50620003ff62000c6f565b6040516200040e919062004530565b60405180910390f35b3480156200042457600080fd5b506200044f6200043636600462004593565b6012602052600090815260409020805460019091015482565b604080519283526020830191909152016200040e565b3480156200047257600080fd5b506200047d62000cc9565b6040516200040e919062004601565b3480156200049957600080fd5b50620004a462000d5f565b6040519081526020016200040e565b348015620004c057600080fd5b50620004a4600d5481565b348015620004d857600080fd5b50620003e5620004ea36600462004616565b62000d8c565b348015620004fd57600080fd5b506200044f6200050f3660046200467f565b62000f25565b3480156200052257600080fd5b50620004a46200053436600462004918565b62000f57565b3480156200054757600080fd5b50620003e56200055936600462004a01565b6200153d565b3480156200056c57600080fd5b506200047d62001684565b3480156200058457600080fd5b50620004a460035481565b3480156200059c57600080fd5b50600a54620004a4565b348015620005b357600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016200040e565b348015620005e757600080fd5b50601654620004a4565b348015620005fe57600080fd5b50620003e56200061036600462004a2e565b62001715565b3480156200062357600080fd5b50600c54620004a4565b3480156200063a57600080fd5b5062000644600a81565b60405160ff90911681526020016200040e565b3480156200066457600080fd5b50620003e56200067636600462004ac9565b6200185e565b3480156200068957600080fd5b50620004a46200069b36600462004593565b6001600160a01b031660009081526012602052604090206001015490565b348015620006c657600080fd5b50620006ed620006d836600462004b39565b60136020526000908152604090205460ff1681565b60405190151581526020016200040e565b3480156200070b57600080fd5b50620003e56200071d36600462004b39565b62001b24565b3480156200073057600080fd5b50620007486200074236600462004b39565b62001d7f565b6040516200040e9695949392919062004b8c565b3480156200076957600080fd5b50620003e56200077b36600462004bec565b62001ee3565b3480156200078e57600080fd5b50620004a4600c5481565b348015620007a657600080fd5b50620004a460085481565b348015620007be57600080fd5b50620004a460045481565b348015620007d657600080fd5b50620007ee620007e836600462004b39565b62002109565b6040516200040e919062004d5e565b3480156200080a57600080fd5b506011546001600160a01b0316620005c1565b3480156200082a57600080fd5b50620004a4600e5481565b3480156200084257600080fd5b50601154620005c1906001600160a01b031681565b3480156200086457600080fd5b50620004a460055481565b3480156200087c57600080fd5b50601054620004a4565b3480156200089357600080fd5b50620008ab620008a536600462004e6b565b620024bc565b6040516200040e919062004efc565b348015620008c757600080fd5b50600754620004a4565b348015620008de57600080fd5b50620003e5620008f036600462004b39565b6200292d565b3480156200090357600080fd5b50620003e562002abd565b3480156200091b57600080fd5b50600954620004a4565b3480156200093257600080fd5b50620006ed6200094436600462004b39565b60009081526013602052604090205460ff1690565b3480156200096657600080fd5b50620003e56200097836600462004f38565b62002b27565b3480156200098b57600080fd5b50600854620004a4565b348015620009a257600080fd5b50620003e5620009b43660046200504e565b62002de6565b348015620009c757600080fd5b50604a546001600160a01b0316620005c1565b348015620009e757600080fd5b50600b54620004a4565b348015620009fe57600080fd5b50620004a462000a103660046200517e565b62002ee7565b34801562000a2357600080fd5b506001546001600160a01b0316620005c1565b34801562000a4357600080fd5b50620004a4600a5481565b34801562000a5b57600080fd5b50620004a4600f5481565b34801562000a7357600080fd5b50620006ed62000a85366004620051ba565b62002f3e565b34801562000a9857600080fd5b50600f54620004a4565b34801562000aaf57600080fd5b50620004a462002f55565b34801562000ac757600080fd5b50620004a462000ad936600462004b39565b62002f6f565b34801562000aec57600080fd5b50620003e562000afe36600462004b39565b62002f91565b34801562000b1157600080fd5b50600454620004a4565b34801562000b2857600080fd5b50620004a462000b3a36600462004593565b620038de565b34801562000b4d57600080fd5b50600d54620004a4565b34801562000b6457600080fd5b50600354620004a4565b34801562000b7b57600080fd5b50620004a460095481565b34801562000b9357600080fd5b50620004a460105481565b34801562000bab57600080fd5b506200044f62000bbd3660046200467f565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000bee57600080fd5b50620003e562000c0036600462004593565b620038f9565b34801562000c1357600080fd5b50600e54620004a4565b34801562000c2a57600080fd5b50620004a460065481565b34801562000c4257600080fd5b50600054620005c1906001600160a01b031681565b34801562000c6457600080fd5b50620004a460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000cbf57602002820191906000526020600020905b81548152602001906001019080831162000caa575b5050505050905090565b6002805462000cd89062005203565b80601f016020809104026020016040519081016040528092919081815260200182805462000d069062005203565b801562000d575780601f1062000d2b5761010080835404028352916020019162000d57565b820191906000526020600020905b81548152906001019060200180831162000d3957829003601f168201915b505050505081565b600062000d8761271062000d8060065462000d79600e5490565b90620039ca565b90620039df565b905090565b33301462000e125760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000e355760405162461bcd60e51b815260040162000e099062005240565b8983101562000e585760405162461bcd60e51b815260040162000e09906200528f565b6000881162000e7b5760405162461bcd60e51b815260040162000e0990620052ec565b6201c90886111562000ef65760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000e09565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000fd55760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000e09565b600f54600b541015620010475760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000e09565b600954600c5410620010bb5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000e09565b620010c562000d5f565b620010d033620038de565b10156200113e5760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000e09565b8551875114801562001151575084518751145b620011bc5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000e09565b6000875111620012295760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000e09565b865184111580156200124657508451620012449085620039ed565b155b620012ba5760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000e09565b600a841115620013335760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000e09565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620013956001600a54620039fb90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b031916331781554260018201819055600354620013cd9190620039fb565b60028201558851620013e990600383019060208c0190620042b7565b5087516200140190600483019060208b019062004321565b5086516200141990600583019060208a019062004381565b508451620014319060068301906020880190620043bf565b508351620014499060078301906020870190620043bf565b5062001457866001620039fb565b6001600160401b03811115620014715762001471620046ae565b6040519080825280602002602001820160405280156200149b578160200160208202803683370190505b508051620014b491600984019160209091019062004381565b5060088101805460ff19166001908117909155600c54620014d591620039fb565b600c558160008051602062005e8a833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000838152601560205260409020600201544210620015705760405162461bcd60e51b815260040162000e099062005349565b806200157c33620038de565b10158015620015a65750600083815260146020908152604080832033845290915290206001015481115b620015c55760405162461bcd60e51b815260040162000e099062005394565b60008381526014602090815260408083203384529091529020541580156200160757506000838152601460209081526040808320338452909152902060010154155b80620016525750600083815260146020908152604080832033845290915290205482148015620016525750600083815260146020908152604080832033845290915290206001015481115b620016715760405162461bcd60e51b815260040162000e0990620053da565b6200167f3384848462003a09565b505050565b606060028054620016959062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620016c39062005203565b801562000cbf5780601f10620016e85761010080835404028352916020019162000cbf565b820191906000526020600020905b815481529060010190602001808311620016f657509395945050505050565b60175462010000900460ff1680620017355750601754610100900460ff16155b620017545760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff161580156200177a576017805462ffff001916620101001790555b6200178462003c6a565b620017b98c8c8c8c8c6040518060400160405280600881526020016711161111dd5a5b1960c21b8152508d8d8d8d8d62001ee3565b60018054604051636cfe048960e01b81523060048201526001600160a01b03858116602483015263359afa4960e01b6044830152600060648301526084820193909352911690636cfe04899060a401600060405180830381600087803b1580156200182357600080fd5b505af115801562001838573d6000803e3d6000fd5b50505050801562001850576017805462ff0000191690555b505050505050505050505050565b6000858152601560205260409020600201544210620018915760405162461bcd60e51b815260040162000e099062005349565b6000620018a18387878762002ee7565b60008181526013602052604090205490915060ff1615620019015760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000e09565b62001965826200195e836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003cf9565b6001600160a01b0316836001600160a01b031614620019c75760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000e09565b6000818152601360205260409020805460ff1916600117905583620019ec84620038de565b1015801562001a1f575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b62001a3e5760405162461bcd60e51b815260040162000e099062005394565b60008681526014602090815260408083206001600160a01b038716845290915290205415801562001a92575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001aef575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001aef575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b62001b0e5760405162461bcd60e51b815260040162000e0990620053da565b62001b1c8387878762003a09565b505050505050565b8062001b3033620038de565b101562001b9f5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000e09565b33600090815260126020526040902060010154421162001c025760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000e09565b6000811162001c7a5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000e09565b3360009081526012602052604090205462001c96908262003d21565b33600090815260126020526040902055600e5462001cb5908262003d21565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001d0557600080fd5b505af115801562001d1a573d6000803e3d6000fd5b5050505062001d2933620038de565b62001d4257600b5462001d3e90600162003d21565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001dbb9062005203565b80601f016020809104026020016040519081016040528092919081815260200182805462001de99062005203565b801562001e3a5780601f1062001e0e5761010080835404028352916020019162001e3a565b820191906000526020600020905b81548152906001019060200180831162001e1c57829003601f168201915b50505050509080600701805462001e519062005203565b80601f016020809104026020016040519081016040528092919081815260200182805462001e7f9062005203565b801562001ed05780601f1062001ea45761010080835404028352916020019162001ed0565b820191906000526020600020905b81548152906001019060200180831162001eb257829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001f035750601754610100900460ff16155b62001f225760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562001f48576017805462ffff001916620101001790555b6001600160a01b038c1662001faf5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000e09565b60008b1162001fd25760405162461bcd60e51b815260040162000e099062005240565b8a83101562001ff55760405162461bcd60e51b815260040162000e09906200528f565b60008911620020185760405162461bcd60e51b815260040162000e0990620052ec565b86516200202d9060029060208a0190620043bf565b50600080546001600160a01b0319166001600160a01b038e1690811790915560405130906200205c906200443b565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562002090573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001850576017805462ff000019169055505050505050505050505050565b6200211362004449565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620021a857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002189575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156200228c578382906000526020600020018054620021f89062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620022269062005203565b8015620022775780601f106200224b5761010080835404028352916020019162002277565b820191906000526020600020905b8154815290600101906020018083116200225957829003601f168201915b505050505081526020019060010190620021d6565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015620022e557602002820191906000526020600020905b815481526020019060010190808311620022d0575b50505050508152602001600682018054620023009062005203565b80601f01602080910402602001604051908101604052809291908181526020018280546200232e9062005203565b80156200237f5780601f1062002353576101008083540402835291602001916200237f565b820191906000526020600020905b8154815290600101906020018083116200236157829003601f168201915b505050505081526020016007820180546200239a9062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620023c89062005203565b8015620024195780601f10620023ed5761010080835404028352916020019162002419565b820191906000526020600020905b815481529060010190602001808311620023fb57829003601f168201915b5050509183525050600882015460209091019060ff16600481111562002443576200244362004b53565b600481111562002457576200245762004b53565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015620024ac57602002820191906000526020600020905b81548152602001906001019080831162002497575b5050505050815250509050919050565b606082518451148015620024d1575081518351145b620025455760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000e09565b60008085516001600160401b03811115620025645762002564620046ae565b6040519080825280602002602001820160405280156200258e578160200160208202803683370190505b509050600091505b855182101562002924574260156000888581518110620025ba57620025ba6200548f565b6020026020010151815260200190815260200160002060020154101562002608576000818381518110620025f257620025f26200548f565b911515602092830291909101909101526200290f565b8382815181106200261d576200261d6200548f565b60200260200101516200263033620038de565b1080620026ad5750601460008784815181106200265157620026516200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154848381518110620026a357620026a36200548f565b6020026020010151105b15620026ca576000818381518110620025f257620025f26200548f565b60146000878481518110620026e357620026e36200548f565b6020908102919091018101518252818101929092526040908101600090812033825290925290205415806200276d5750601460008784815181106200272c576200272c6200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b80156200286757508482815181106200278a576200278a6200548f565b602002602001015160146000888581518110620027ab57620027ab6200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060000154141580156200286757508382815181106200280757620028076200548f565b6020026020010151601460008885815181106200282857620028286200548f565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b1562002884576000818381518110620025f257620025f26200548f565b60018183815181106200289b576200289b6200548f565b6020026020010190151590811515815250506200290f33878481518110620028c757620028c76200548f565b6020026020010151878581518110620028e457620028e46200548f565b60200260200101518786815181106200290157620029016200548f565b602002602001015162003a09565b816200291b81620054bb565b92505062002596565b95945050505050565b600081116200299a5760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000e09565b620029a533620038de565b620029be57600b54620029ba906001620039fb565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b15801562002a0b57600080fd5b505af115801562002a20573d6000803e3d6000fd5b50503360009081526012602052604090205462002a419250905082620039fb565b33600090815260126020526040902055600d5462002a61904290620039fb565b33600090815260126020526040902060010155600e5462002a839082620039fb565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001d74565b604a546001600160a01b0316331462002b195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000e09565b62002b25600062003d2f565b565b600062002b378785858562002ee7565b905085811462002b8a5760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000e09565b60008181526013602052604090205460ff161562002be75760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000e09565b600062002bf689888862002f3e565b90508062002c535760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000e09565b600085815260156020526040902060020154421062002c865760405162461bcd60e51b815260040162000e099062005349565b8262002c9289620038de565b1015801562002cc5575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002ce45760405162461bcd60e51b815260040162000e099062005394565b60008581526014602090815260408083206001600160a01b038c16845290915290205415801562002d38575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b8062002d95575060008581526014602090815260408083206001600160a01b038c1684529091529020548414801562002d95575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002db45760405162461bcd60e51b815260040162000e0990620053da565b6000828152601360205260409020805460ff1916600117905562002ddb8886868662003a09565b505050505050505050565b60005b875181101562002edd5762002ec888828151811062002e0c5762002e0c6200548f565b602002602001015188838151811062002e295762002e296200548f565b602002602001015188848151811062002e465762002e466200548f565b602002602001015188858151811062002e635762002e636200548f565b602002602001015188868151811062002e805762002e806200548f565b602002602001015188878151811062002e9d5762002e9d6200548f565b602002602001015188888151811062002eba5762002eba6200548f565b602002602001015162002b27565b8062002ed481620054bb565b91505062002de9565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062002f4d82858562003d81565b949350505050565b600062000d8761271062000d8060055462000d79600e5490565b6016818154811062002f8057600080fd5b600091825260209091200154905081565b60175460ff161562002ff25760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000e09565b600160008281526015602052604090206008015460ff1660048111156200301d576200301d62004b53565b146200307a5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000e09565b6000818152601560205260409020600201544211620030ea5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000e09565b6000818152601560205260408120600901805482919082906200311157620031116200548f565b600091825260209091200154905060015b60008481526015602052604090206009015481101562003251576200314662002f55565b60008581526015602052604090206009018054839081106200316c576200316c6200548f565b906000526020600020015410158015620031b857506000848152601560205260409020600901805483919083908110620031aa57620031aa6200548f565b906000526020600020015410155b156200323c576000848152601560205260409020600901805483919083908110620031e757620031e76200548f565b906000526020600020015414156200320357600092506200323c565b600084815260156020526040902060090180549193508391829081106200322e576200322e6200548f565b906000526020600020015491505b806200324881620054bb565b91505062003122565b82620032a1576000848152601560205260409020600801805460ff19166002908117909155849060008051602062005e8a833981519152905b60405190815260200160405180910390a2620038c5565b6004546000858152601560205260409020600201544291620032c49190620039fb565b101562003303576000848152601560205260409020600801805460ff19166004908117909155849060008051602062005e8a833981519152906200328a565b600084815260156020526040812060088101805460ff19166003179055600901546200334f906200333690600162003d21565b60008781526015602052604090206003015490620039df565b90506200336a6200336285600162003d21565b8290620039ca565b915060006200337a8383620039fb565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033cd57600080fd5b505af1158015620033e2573d6000803e3d6000fd5b505050505b808310156200381c5760008681526015602052604081206003018054859081106200341657620034166200548f565b6000918252602090912001546001600160a01b03161480159062003476575060008681526015602052604081206004018054859081106200345b576200345b6200548f565b906000526020600020018054620034729062005203565b9050115b1562003807576000868152601560205260408120600401805485908110620034a257620034a26200548f565b906000526020600020018054620034b99062005203565b80601f0160208091040260200160405190810160405280929190818152602001828054620034e79062005203565b8015620035385780601f106200350c5761010080835404028352916020019162003538565b820191906000526020600020905b8154815290600101906020018083116200351a57829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed4703392503091899081106200358657620035866200548f565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a81548110620035cf57620035cf6200548f565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200363457600080fd5b505af192505050801562003646575060015b620036a25762003655620054d9565b806308c379a014156200369657506200366d620054f6565b806200367a575062003698565b8060405162461bcd60e51b815260040162000e09919062004601565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000888152601560205260408120600301805487908110620036d557620036d56200548f565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b0390921691889081106200371457620037146200548f565b9060005260206000200154601560008c815260200190815260200160002060040188815481106200374957620037496200548f565b9060005260206000200160405162003762919062005585565b60006040518083038185875af1925050503d8060008114620037a1576040519150601f19603f3d011682016040523d82523d6000602084013e620037a6565b606091505b5050905080620037f95760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000e09565b50506017805460ff19169055505b826200381381620054bb565b935050620033e7565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156200386257600080fd5b505af115801562003877573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200389d919062005629565b508560008051602062005e8a833981519152600360405190815260200160405180910390a250505b600c54620038d590600162003d21565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b604a546001600160a01b03163314620039555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000e09565b6001600160a01b038116620039bc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000e09565b620039c78162003d2f565b50565b6000620039d882846200564d565b9392505050565b6000620039d8828462005685565b6000620039d882846200569c565b6000620039d88284620056b3565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462003a7f92849262003a78928790811062003a5e5762003a5e6200548f565b906000526020600020015462003d2190919063ffffffff16565b90620039fb565b600084815260156020526040902060090180548490811062003aa55762003aa56200548f565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003b0c856001600160a01b031660009081526012602052604090206001015490565b101562003b41576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003c6457600062003bb762003bad6008543a62003d9990919063ffffffff16565b60075490620039ca565b905080471015801562003bc95750333b155b1562003c6257604051600090339083908381818185875af1925050503d806000811462003c13576040519150601f19603f3d011682016040523d82523d6000602084013e62003c18565b606091505b505090508062001b1c5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000e09565b505b50505050565b60175462010000900460ff168062003c8a5750601754610100900460ff16155b62003ca95760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562003ccf576017805462ffff001916620101001790555b62003cd962003db1565b62003ce362003e2b565b8015620039c7576017805462ff00001916905550565b600080600062003d0a858562003e9b565b9150915062003d198162003f11565b509392505050565b6000620039d88284620056ce565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008262003d908584620040e4565b14949350505050565b600081831062003daa5781620039d8565b5090919050565b60175462010000900460ff168062003dd15750601754610100900460ff16155b62003df05760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562003ce3576017805462ffff001916620101001790558015620039c7576017805462ff00001916905550565b60175462010000900460ff168062003e4b5750601754610100900460ff16155b62003e6a5760405162461bcd60e51b815260040162000e099062005441565b60175462010000900460ff1615801562003e90576017805462ffff001916620101001790555b62003ce33362003d2f565b60008082516041141562003ed65760208301516040840151606085015160001a62003ec98782858562004191565b9450945050505062000f50565b82516040141562003f04576020830151604084015162003ef886838362004286565b93509350505062000f50565b5060009050600262000f50565b600081600481111562003f285762003f2862004b53565b141562003f325750565b600181600481111562003f495762003f4962004b53565b141562003f995760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000e09565b600281600481111562003fb05762003fb062004b53565b1415620040005760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000e09565b600381600481111562004017576200401762004b53565b1415620040725760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000e09565b600481600481111562004089576200408962004b53565b1415620039c75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000e09565b600081815b845181101562003d195760008582815181106200410a576200410a6200548f565b602002602001015190508083116200414e5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506200417b565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806200418881620054bb565b915050620040e9565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620041ca57506000905060036200427d565b8460ff16601b14158015620041e357508460ff16601c14155b15620041f657506000905060046200427d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156200424b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662004276576000600192509250506200427d565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620042a98782888562004191565b935093505050935093915050565b8280548282559060005260206000209081019282156200430f579160200282015b828111156200430f57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620042d8565b506200431d929150620044b9565b5090565b82805482825590600052602060002090810192821562004373579160200282015b8281111562004373578251805162004362918491602090910190620043bf565b509160200191906001019062004342565b506200431d929150620044d0565b8280548282559060005260206000209081019282156200430f579160200282015b828111156200430f578251825591602001919060010190620043a2565b828054620043cd9062005203565b90600052602060002090601f016020900481019282620043f157600085556200430f565b82601f106200440c57805160ff19168380011785556200430f565b828001600101855582156200430f57918201828111156200430f578251825591602001919060010190620043a2565b6107a180620056e983390190565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115620044ac57620044ac62004b53565b8152602001606081525090565b5b808211156200431d5760008155600101620044ba565b808211156200431d576000620044e78282620044f1565b50600101620044d0565b508054620044ff9062005203565b6000825580601f1062004510575050565b601f016020900490600052602060002090810190620039c79190620044b9565b6020808252825182820181905260009190848201906040850190845b818110156200456a578351835292840192918401916001016200454c565b50909695505050505050565b80356001600160a01b03811681146200458e57600080fd5b919050565b600060208284031215620045a657600080fd5b620039d88262004576565b6000815180845260005b81811015620045d957602081850181015186830182015201620045bb565b81811115620045ec576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620039d86020830184620045b1565b6000806000806000806000806000806101408b8d0312156200463757600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200469357600080fd5b82359150620046a56020840162004576565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715620046ec57620046ec620046ae565b6040525050565b60006001600160401b038211156200470f576200470f620046ae565b5060051b60200190565b600082601f8301126200472b57600080fd5b813560206200473a82620046f3565b604051620047498282620046c4565b83815260059390931b85018201928281019150868411156200476a57600080fd5b8286015b848110156200479057620047828162004576565b83529183019183016200476e565b509695505050505050565b600082601f830112620047ad57600080fd5b81356001600160401b03811115620047c957620047c9620046ae565b604051620047e2601f8301601f191660200182620046c4565b818152846020838601011115620047f857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200482757600080fd5b813560206200483682620046f3565b604051620048458282620046c4565b83815260059390931b85018201928281019150868411156200486657600080fd5b8286015b84811015620047905780356001600160401b038111156200488b5760008081fd5b6200489b8986838b01016200479b565b8452509183019183016200486a565b600082601f830112620048bc57600080fd5b81356020620048cb82620046f3565b604051620048da8282620046c4565b83815260059390931b8501820192828101915086841115620048fb57600080fd5b8286015b84811015620047905780358352918301918301620048ff565b60008060008060008060c087890312156200493257600080fd5b86356001600160401b03808211156200494a57600080fd5b620049588a838b0162004719565b975060208901359150808211156200496f57600080fd5b6200497d8a838b0162004815565b965060408901359150808211156200499457600080fd5b620049a28a838b01620048aa565b9550606089013594506080890135915080821115620049c057600080fd5b620049ce8a838b016200479b565b935060a0890135915080821115620049e557600080fd5b50620049f489828a016200479b565b9150509295509295509295565b60008060006060848603121562004a1757600080fd5b505081359360208301359350604090920135919050565b60008060008060008060008060008060006101608c8e03121562004a5157600080fd5b62004a5c8c62004576565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c0135925062004aa66101208d0162004576565b915062004ab76101408d0162004576565b90509295989b509295989b9093969950565b600080600080600060a0868803121562004ae257600080fd5b85359450602086013593506040860135925062004b026060870162004576565b915060808601356001600160401b0381111562004b1e57600080fd5b62004b2c888289016200479b565b9150509295509295909350565b60006020828403121562004b4c57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811062004b8857634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062004bbb60c0830186620045b1565b828103608084015262004bcf8186620045b1565b91505062004be160a083018462004b69565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562004c0f57600080fd5b62004c1a8c62004576565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b0381111562004c5257600080fd5b62004c608e828f016200479b565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062004ab76101408d0162004576565b600081518084526020808501945080840160005b8381101562004ccb5781516001600160a01b03168752958201959082019060010162004ca4565b509495945050505050565b6000815180845260208085019450848260051b860182860160005b8581101562004d1f57838303895262004d0c838351620045b1565b9885019892509084019060010162004cf1565b5090979650505050505050565b600081518084526020808501945080840160005b8381101562004ccb5781518752958201959082019060010162004d40565b6020815262004d796020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015262004dad61016085018362004c90565b91506080850151601f19808685030160a087015262004dcd848362004cd6565b935060a08701519150808685030160c087015262004dec848362004d2c565b935060c08701519150808685030160e087015262004e0b8483620045b1565b935060e0870151915061010081878603018188015262004e2c8584620045b1565b94508088015192505061012062004e468188018462004b69565b87015186850390910183870152905062004e61838262004d2c565b9695505050505050565b60008060006060848603121562004e8157600080fd5b83356001600160401b038082111562004e9957600080fd5b62004ea787838801620048aa565b9450602086013591508082111562004ebe57600080fd5b62004ecc87838801620048aa565b9350604086013591508082111562004ee357600080fd5b5062004ef286828701620048aa565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200456a57835115158352928401929184019160010162004f18565b600080600080600080600060e0888a03121562004f5457600080fd5b8735965062004f666020890162004576565b95506040880135945060608801356001600160401b0381111562004f8957600080fd5b62004f978a828b01620048aa565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f83011262004fcb57600080fd5b8135602062004fda82620046f3565b60405162004fe98282620046c4565b83815260059390931b85018201928281019150868411156200500a57600080fd5b8286015b84811015620047905780356001600160401b038111156200502f5760008081fd5b6200503f8986838b0101620048aa565b8452509183019183016200500e565b600080600080600080600060e0888a0312156200506a57600080fd5b87356001600160401b03808211156200508257600080fd5b620050908b838c01620048aa565b985060208a0135915080821115620050a757600080fd5b620050b58b838c0162004719565b975060408a0135915080821115620050cc57600080fd5b620050da8b838c01620048aa565b965060608a0135915080821115620050f157600080fd5b620050ff8b838c0162004fb9565b955060808a01359150808211156200511657600080fd5b620051248b838c01620048aa565b945060a08a01359150808211156200513b57600080fd5b620051498b838c01620048aa565b935060c08a01359150808211156200516057600080fd5b506200516f8a828b01620048aa565b91505092959891949750929550565b600080600080608085870312156200519557600080fd5b620051a08562004576565b966020860135965060408601359560600135945092505050565b600080600060608486031215620051d057600080fd5b833592506020840135915060408401356001600160401b03811115620051f557600080fd5b62004ef286828701620048aa565b600181811c908216806200521857607f821691505b602082108114156200523a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620054d257620054d2620054a5565b5060010190565b600060033d1115620054f35760046000803e5060005160e01c5b90565b600060443d1015620055055790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156200553557505050505090565b82850191508151818111156200554e5750505050505090565b843d8701016020828501011115620055695750505050505090565b6200557a60208286010187620046c4565b509095945050505050565b600080835481600182811c915080831680620055a257607f831692505b6020808410821415620055c357634e487b7160e01b86526022600452602486fd5b818015620055da5760018114620055ec576200561b565b60ff198616895284890196506200561b565b60008a81526020902060005b86811015620056135781548b820152908501908301620055f8565b505084890196505b509498975050505050505050565b6000602082840312156200563c57600080fd5b81518015158114620039d857600080fd5b60008160001904831182151516156200566a576200566a620054a5565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200569757620056976200566f565b500490565b600082620056ae57620056ae6200566f565b500690565b60008219821115620056c957620056c9620054a5565b500190565b600082821015620056e357620056e3620054a5565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220d357a5987765a0d8dce91d2ab127fa48dab8ddc5a2ca41baf46e9820167934f664736f6c63430008080033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/DXDVotingMachine.json b/src/contracts/DXDVotingMachine.json index e342fb4b2..1bc43fe29 100644 --- a/src/contracts/DXDVotingMachine.json +++ b/src/contracts/DXDVotingMachine.json @@ -1,1935 +1,1935 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DXDVotingMachine", - "sourceName": "dxdao-contracts/contracts/dxvote/DXDVotingMachine.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_stakingToken", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - } - ], - "name": "CancelProposal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "name": "CancelVoting", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_confidenceThreshold", - "type": "uint256" - } - ], - "name": "ConfidenceLevelChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_decision", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_totalReputation", - "type": "uint256" - } - ], - "name": "ExecuteProposal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "ExpirationCallBounty", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "enum GenesisProtocolLogic.ExecutionState", - "name": "_executionState", - "type": "uint8" - } - ], - "name": "GPExecuteProposal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_numOfChoices", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "_paramsHash", - "type": "bytes32" - } - ], - "name": "NewProposal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "Redeem", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "RedeemDaoBounty", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "RedeemReputation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_staker", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_vote", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "Stake", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "enum GenesisProtocolLogic.ProposalState", - "name": "_proposalState", - "type": "uint8" - } - ], - "name": "StateChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "_organization", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_vote", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_reputation", - "type": "uint256" - } - ], - "name": "VoteProposal", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "voteDecision", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "VoteSignaled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "votingMachine", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "voteDecision", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "VoteSigned", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "DELEGATION_HASH_EIP712", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "NO", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "NUM_OF_CHOICES", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "YES", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "averagesDownstakesOfBoosted", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "boostedVoteRequiredPercentage", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "calcExecuteCallBounty", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "cancelVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "executeBoosted", - "outputs": [ - { - "internalType": "uint256", - "name": "expirationCallBounty", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "executeSignaledVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "votingMachine", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "voteDecision", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "executeSignedVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getAllowedRangeOfChoices", - "outputs": [ - { - "internalType": "uint256", - "name": "min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "max", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "avatar", - "type": "address" - }, - { - "internalType": "address", - "name": "scheme", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "paramsHash", - "type": "bytes32" - } - ], - "name": "getBoostedVoteRequiredPercentage", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "getNumberOfChoices", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256[11]", - "name": "_params", - "type": "uint256[11]" - }, - { - "internalType": "address", - "name": "_voteOnBehalf", - "type": "address" - } - ], - "name": "getParametersHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "getProposalOrganization", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "getProposalTimes", - "outputs": [ - { - "internalType": "uint256[3]", - "name": "times", - "type": "uint256[3]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_staker", - "type": "address" - } - ], - "name": "getStaker", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "votingMachine", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "voteDecision", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "hashVote", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isAbstainAllow", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "isVotable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "orgBoostedProposalsCnt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "organizationRefunds", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxGasPrice", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "organizations", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "parameters", - "outputs": [ - { - "internalType": "uint256", - "name": "queuedVoteRequiredPercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "queuedVotePeriodLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "boostedVotePeriodLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "preBoostedVotePeriodLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "thresholdConst", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "limitExponentValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "quietEndingPeriod", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposingRepReward", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votersReputationLossRatio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minimumDaoBounty", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "daoBountyConst", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "activationTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "voteOnBehalf", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "proposalStatus", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "proposalStatusWithVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "bytes32", - "name": "organizationId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "callbacks", - "type": "address" - }, - { - "internalType": "enum GenesisProtocolLogic.ProposalState", - "name": "state", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "winningVote", - "type": "uint256" - }, - { - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "currentBoostedVotePeriodLimit", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "paramsHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "daoBountyRemain", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "daoBounty", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalStakes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "confidenceThreshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "secondsFromTimeOutTillExecuteBoosted", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "daoRedeemItsWinnings", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proposalsCnt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_paramsHash", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_proposer", - "type": "address" - }, - { - "internalType": "address", - "name": "_organization", - "type": "address" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_choicesAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_paramsHash", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_proposer", - "type": "address" - }, - { - "internalType": "address", - "name": "_organization", - "type": "address" - } - ], - "name": "proposeMultipleChoice", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_beneficiary", - "type": "address" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256[3]", - "name": "rewards", - "type": "uint256[3]" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_beneficiary", - "type": "address" - } - ], - "name": "redeemDaoBounty", - "outputs": [ - { - "internalType": "uint256", - "name": "redeemedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "potentialAmount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "score", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_scheme", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_paramsHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_boostedVotePeriodLimit", - "type": "uint256" - } - ], - "name": "setBoostedVoteRequiredPercentage", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - } - ], - "name": "setOrganizationRefund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256[11]", - "name": "_params", - "type": "uint256[11]" - }, - { - "internalType": "address", - "name": "_voteOnBehalf", - "type": "address" - } - ], - "name": "setParameters", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "votingMachine", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "voteDecision", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "shareSignedVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "shouldBoost", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "voteDecision", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "signalVote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_vote", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "stake", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_vote", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_signatureType", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "stakeWithSignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "stakesNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "stakingToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum GenesisProtocolLogic.ProposalState", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_paramsHash", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_organizationId", - "type": "bytes32" - } - ], - "name": "threshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_vote", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "name": "vote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "name": "voteInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_vote", - "type": "uint256" - } - ], - "name": "voteStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_choice", - "type": "uint256" - } - ], - "name": "voteStatus", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "votesSignaled", - "outputs": [ - { - "internalType": "uint256", - "name": "voteDecision", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_proposalId", - "type": "bytes32" - } - ], - "name": "winningVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "withdrawRefundBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b50604051620057f6380380620057f6833981810160405260208110156200003757600080fd5b505180806200006673543ff227f64aa17ea132bf9886cab5db55dcaddf62000138602090811b6200549617901c565b156200009857600680546001600160a01b03191673543ff227f64aa17ea132bf9886cab5db55dcaddf179055620000b4565b600680546001600160a01b0319166001600160a01b0383161790555b50506001600160a01b03811662000112576040805162461bcd60e51b815260206004820152601360248201527f77726f6e67205f7374616b696e67546f6b656e00000000000000000000000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b039290921691909117905562000175565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906200016d5750808214155b949350505050565b61567180620001856000396000f3fe6080604052600436106103355760003560e01c806377213844116101ab578063b2449d65116100f7578063c8f526e811610095578063e5af18c51161006f578063e5af18c514610fcd578063e751f27114610ff7578063fb6c0cbb14611021578063fe0d26181461104b57610335565b8063c8f526e814610ed5578063cc3bf9e914610f37578063e09a2c3014610f7057610335565b8063bb5a05ed116100d1578063bb5a05ed14610e27578063beda801514610e51578063c083510614610e7b578063c0ceec1e14610ea557610335565b8063b2449d6514610db8578063b451291314610dcd578063ba51b14e14610dfd57610335565b80639525c0cc11610164578063a003651d1161013e578063a003651d14610cf5578063a05ea6e414610d1f578063a30ccbe614610d52578063ae9f5cea14610d8857610335565b80639525c0cc14610c845780639afeffc114610cae5780639bc5689d146104e057610335565b80637721384414610afa57806379a1c1f614610b4757806380f5e0a114610b9757806381bd671d14610bc157806388737b5e14610c045780638894c41b14610c4b57610335565b8063359afa49116102855780635142bc1e116102235780636359036b116101fd5780636359036b14610a215780636e5b43ec14610a5a5780637074376814610a9957806372f702f314610ac957610335565b80635142bc1e146109a957806351d997b2146109be57806361d585da146109d357610335565b80633d6254c81161025f5780633d6254c8146108595780633fead6501461089257806340474873146108e3578063488c65fc1461090d57610335565b8063359afa49146107425780633a8b3bd2146107875780633c1338181461082f57610335565b80631702ef0c116102f25780632d598e58116102cc5780632d598e58146105f85780632daedd521461062857806330ca0a531461067257806332ed5b121461068757610335565b80631702ef0c1461058057806321b4b3dc146105aa5780632514e2bf146105bf57610335565b806302506804146103b557806307b4e1e31461044d578063089af68e146104c95780630d483442146104e0578063119ce91b146104f557806316db517214610547575b336000908152600960205260409020600101546103835760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b336000908152600960205260409020546103a3903463ffffffff6110f316565b33600090815260096020526040902055005b3480156103c157600080fd5b506103df600480360360208110156103d857600080fd5b5035611156565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e08801526101008701526101208601526101408501526101608401526001600160a01b031661018083015251908190036101a00190f35b34801561045957600080fd5b506104b7600480360361018081101561047157600080fd5b81019080806101600190600b806020026040519081016040528092919082600b602002808284376000920191909152509194505050356001600160a01b031690506111c6565b60408051918252519081900360200190f35b3480156104d557600080fd5b506104de6112d6565b005b3480156104ec57600080fd5b506104b76113b4565b34801561050157600080fd5b5061052e6004803603604081101561051857600080fd5b50803590602001356001600160a01b03166113b9565b6040805192835260208301919091528051918290030190f35b34801561055357600080fd5b5061052e6004803603604081101561056a57600080fd5b50803590602001356001600160a01b031661141c565b34801561058c57600080fd5b506104b7600480360360208110156105a357600080fd5b503561144d565b3480156105b657600080fd5b506104b761145f565b3480156105cb57600080fd5b5061052e600480360360408110156105e257600080fd5b50803590602001356001600160a01b0316611465565b34801561060457600080fd5b506104b76004803603604081101561061b57600080fd5b5080359060200135611489565b34801561063457600080fd5b5061065e6004803603606081101561064b57600080fd5b50803590602081013590604001356114d6565b604080519115158252519081900360200190f35b34801561067e57600080fd5b506104b76114ec565b34801561069357600080fd5b506106b1600480360360208110156106aa57600080fd5b5035611598565b604080518e81526001600160a01b038e1660208201529081018c60068111156106d657fe5b60ff168152602081019b909b52506001600160a01b039098166040808b019190915260608a0197909752608089019590955260a088019390935260c087019190915260e08601526101008501526101208401529015156101408301525190819003610160019350915050f35b34801561074e57600080fd5b5061065e6004803603608081101561076557600080fd5b50803590602081013590604081013590606001356001600160a01b0316611606565b34801561079357600080fd5b506104de600480360360c08110156107aa57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184600183028401116401000000008311171561082457600080fd5b50909250905061176e565b34801561083b57600080fd5b506104b76004803603602081101561085257600080fd5b503561193e565b34801561086557600080fd5b506104de6004803603604081101561087c57600080fd5b50803590602001356001600160a01b0316611953565b34801561089e57600080fd5b506108c5600480360360208110156108b557600080fd5b50356001600160a01b0316611a84565b60408051938452602084019290925282820152519081900360600190f35b3480156108ef57600080fd5b506104b76004803603602081101561090657600080fd5b5035611aa5565b34801561091957600080fd5b5061065e600480360360c081101561093057600080fd5b8135916020810135916040820135916060810135916080820135919081019060c0810160a082013564010000000081111561096a57600080fd5b82018360208201111561097c57600080fd5b8035906020019184600183028401116401000000008311171561099e57600080fd5b509092509050611b15565b3480156109b557600080fd5b5061052e611db1565b3480156109ca57600080fd5b5061065e611db9565b3480156109df57600080fd5b506109fd600480360360208110156109f657600080fd5b5035611dbf565b60405180826006811115610a0d57fe5b60ff16815260200191505060405180910390f35b348015610a2d57600080fd5b5061052e60048036036040811015610a4457600080fd5b50803590602001356001600160a01b0316611ddf565b348015610a6657600080fd5b506104de60048036036060811015610a7d57600080fd5b506001600160a01b03813516906020810135906040013561205a565b348015610aa557600080fd5b506104b760048036036040811015610abc57600080fd5b50803590602001356120af565b348015610ad557600080fd5b50610ade6120d0565b604080516001600160a01b039092168252519081900360200190f35b348015610b0657600080fd5b506104b7600480360360a0811015610b1d57600080fd5b506001600160a01b03813581169160208101359160408201351690606081013590608001356120df565b348015610b5357600080fd5b50610b7160048036036020811015610b6a57600080fd5b503561213a565b604080519485526020850193909352838301919091526060830152519081900360800190f35b348015610ba357600080fd5b5061065e60048036036020811015610bba57600080fd5b503561217d565b348015610bcd57600080fd5b506104b760048036036060811015610be457600080fd5b506001600160a01b038135811691602081013590911690604001356122ba565b348015610c1057600080fd5b506104b760048036036080811015610c2757600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612314565b348015610c5757600080fd5b506104b76004803603610180811015610c6f57600080fd5b506001600160a01b0361016082013516612323565b348015610c9057600080fd5b506104de60048036036020811015610ca757600080fd5b5035612710565b348015610cba57600080fd5b506104b760048036036080811015610cd157600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612723565b348015610d0157600080fd5b506104b760048036036020811015610d1857600080fd5b5035612731565b348015610d2b57600080fd5b506104b760048036036020811015610d4257600080fd5b50356001600160a01b0316612743565b348015610d5e57600080fd5b506104de60048036036060811015610d7557600080fd5b5080359060208101359060400135612755565b348015610d9457600080fd5b506104b760048036036040811015610dab57600080fd5b50803590602001356128d5565b348015610dc457600080fd5b506104b76128f2565b348015610dd957600080fd5b506104b760048036036040811015610df057600080fd5b50803590602001356128f7565b348015610e0957600080fd5b50610ade60048036036020811015610e2057600080fd5b5035612918565b348015610e3357600080fd5b506104b760048036036020811015610e4a57600080fd5b5035612933565b348015610e5d57600080fd5b506104b760048036036020811015610e7457600080fd5b5035612945565b348015610e8757600080fd5b5061065e60048036036020811015610e9e57600080fd5b5035612b8e565b348015610eb157600080fd5b506104de60048036036040811015610ec857600080fd5b5080359060200135612b99565b348015610ee157600080fd5b50610eff60048036036020811015610ef857600080fd5b5035612bb8565b6040518082606080838360005b83811015610f24578181015183820152602001610f0c565b5050505090500191505060405180910390f35b348015610f4357600080fd5b50610eff60048036036040811015610f5a57600080fd5b50803590602001356001600160a01b0316612c07565b348015610f7c57600080fd5b50610f9a60048036036020811015610f9357600080fd5b5035613378565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b348015610fd957600080fd5b506104b760048036036020811015610ff057600080fd5b50356133d3565b34801561100357600080fd5b5061065e6004803603602081101561101a57600080fd5b50356133de565b34801561102d57600080fd5b506104b76004803603602081101561104457600080fd5b5035613403565b34801561105757600080fd5b506104de600480360360c081101561106e57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156110b457600080fd5b8201836020820111156110c657600080fd5b803590602001918460018302840111640100000000831117156110e857600080fd5b509092509050613415565b60008282018381101561114d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600060208190529081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c909c01549a9b999a989997989697959694959394929391929091906001600160a01b03168d565b60008281602002015183600160200201518460026020020151856003602002015186600460200201518760056020020151886006602002015189600760200201518a600860200201518b600960200201518c600a6020020151604051602001808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001208260405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120905092915050565b336000908152600960205260409020600101546113245760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b3360009081526009602052604090205461136f5760405162461bcd60e51b81526004018080602001828103825260358152602001806155956035913960400191505060405180910390fd5b33600081815260096020526040808220805490839055905190929183156108fc02918491818181858888f193505050501580156113b0573d6000803e3d6000fd5b5050565b600281565b6000806113c461530b565b50505060009182526001602081815260408085206001600160a01b039490941685526011909301815292829020825160608101845281548082529282015494810185905260029091015460ff16151592019190915291565b60009182526001602081815260408085206001600160a01b0394909416855260139093019052912080549101549091565b60009081526001602052604090205490565b60055481565b600a6020908152600092835260408084209091529082529020805460019091015482565b60008181526002602090815260408083205485845291839052822060058101548211156114b857806005015491505b60048101546114cd908363ffffffff61358c16565b95945050505050565b60006114e4848484336135d6565b949350505050565b604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e909201909252805191012081565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a0154600e909a01546001600160a01b03808b169b60ff600160a01b909c048c169b99909116989091168d565b600084611612816139ee565b61161b57600080fd5b600086815260016020526040902061163161532e565b5060058082015460009081526020818152604080832081516101a0810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015460808301529283015460a0820152600683015460c0820152600783015460e082015260088301546101008201526009830154610120820152600a830154610140820152600b830154610160820152600c909201546001600160a01b0316610180830181905215611741578161018001516001600160a01b0316336001600160a01b03161461173a5760405162461bcd60e51b81526004018080602001828103825260258152602001806154ce6025913960400191505060405180910390fd5b5084611744565b50335b60006117528a838b8b613a61565b905061176184600001546140d5565b9998505050505050505050565b858461177982612731565b81111580156117885750600081115b6117d0576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b60006117df8a8a8a8a8a6120df565b905061183285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061182692508591506141f69050565b9063ffffffff61424716565b6001600160a01b0316886001600160a01b031614611886576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b7f46e3ceeda21faa4b362b93454c3125977acdd239013fd4f0ec651e88657e6cfb8a8a8a8a8a8a8a60405180886001600160a01b03166001600160a01b03168152602001878152602001866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039a509098505050505050505050a150505050505050505050565b60009081526001602052604090206002015490565b61195c826139ee565b6119a4576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b0385168452909152902054611a0c576040805162461bcd60e51b81526020600482015260116024820152701ddc9bdb99c81d9bdd19481cda185c9959607a1b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b038516845290915290208054600190910154611a44918491849190613a61565b506000828152600a602090815260408083206001600160a01b0385168452825280832083815560019081018490558584529091529020546113b0906140d5565b60096020526000908152604090208054600182015460029092015490919083565b6000818152600160205260408120600a01546105dc908290611ace90839063ffffffff61433516565b6000858152600160208181526040808420928452601290920190529020549091506114e490600a840290611b0990849063ffffffff61434b16565b9063ffffffff6143a416565b6000808460021415611c385750604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e830184528051908201203060601b609e84015260b283018c905260d283018b905260f283018a90526101128084018a9052845180850390910181526101328401855280519083012061015284019190915261017280840191909152835180840390910181526101929092019092528051910120611c89565b604080513060601b602080830191909152603482018c9052605482018b9052607482018a905260948083018a90528351808403909101815260b49092019092528051910120611c86906141f6565b90505b6000611cd385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff614247169050565b90506001600160a01b038116611d30576040805162461bcd60e51b815260206004820152601a60248201527f7374616b657220616464726573732063616e6e6f742062652030000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600760205260409020548714611d5457600080fd5b6001600160a01b038116600090815260076020526040902054611d7e90600163ffffffff6110f316565b6001600160a01b038216600090815260076020526040902055611da38a8a8a846135d6565b9a9950505050505050505050565b600160029091565b60005b90565b60009081526001602081905260409091200154600160a01b900460ff1690565b6000828152600160205260408120819060026001820154600160a01b900460ff166006811115611e0b57fe5b14611e1557600080fd5b60028082015460009081526012830160209081526040808320546001600160a01b0389168452601386019092529091209182015490919015801590611e5e575060028301548154145b8015611e6e575060018360020154145b8015611e7957508115155b15611e955781836007015482600201540281611e9157fe5b0493505b8315801590611f2a5750600183015460065460408051636b8eb40360e01b81526001600160a01b039283166004820152602481018b9052905187939290921691636b8eb40391604480820192602092909190829003018186803b158015611efb57600080fd5b505afa158015611f0f573d6000803e3d6000fd5b505050506040513d6020811015611f2557600080fd5b505110155b1561205057600060028201556006830154611f4b908563ffffffff6143e616565b60068085019190915560018401549054604080516317d4ebe560e31b81526001600160a01b039283166004820152898316602482015260448101889052606481018b90529051919092169163bea75f289160848083019260209291908290030181600087803b158015611fbd57600080fd5b505af1158015611fd1573d6000803e3d6000fd5b505050506040513d6020811015611fe757600080fd5b5051611ff257600080fd5b8254600090815260036020908152604091829020548251878152925196975087966001600160a01b03808b16949216928b927fb4a37163ec93e05e09b62e52f7f2ea8cfde431802edede7dfebe53d2ad969dbb929081900390910190a45b5050509250929050565b604080516001600160601b0319606095861b166020808301919091523390951b603482015281516028818303018152604890910182528051908501206000908152600885528181209381529290935291902055565b60009182526001602090815260408084209284526012909201905290205490565b6006546001600160a01b031681565b604080516001600160601b0319606097881b811660208084019190915260348301979097529490961b909316605486015260688501919091526088808501919091528151808503909101815260a89093019052815191012090565b6000908152600160208181526040808420838552601081018352818520546002808752838720549587526012909201909352818520549085529320549093919291565b600061218761539f565b60008381526001602081815260409283902083516101c08101855281548152928101546001600160a01b038116928401929092529192830190600160a01b900460ff1660068111156121d557fe5b60068111156121e057fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311612269575050509183525050600e919091015460ff16151560209091015260c081015181519192506122a991611489565b6122b284614428565b119392505050565b604080516001600160601b0319606094851b81166020808401919091529590941b90931660348401528051602881850301815260489093018152825192840192909220600090815260088452828120918152925290205490565b60006114cd6002858585614469565b6000606483351180159061233957506032833510155b6123745760405162461bcd60e51b815260040180806020018281038252602981526020018061554b6029913960400191505060405180910390fd5b613e8060808401351180159061238f57506103e86080840135115b6123e0576040805162461bcd60e51b815260206004820152601e60248201527f31303030203c207468726573686f6c64436f6e7374203c3d2031363030300000604482015290519081900360640190fd5b606460e0840135111561243a576040805162461bcd60e51b815260206004820181905260248201527f766f7465727352657075746174696f6e4c6f7373526174696f203c3d20313030604482015290519081900360640190fd5b60a0830135604084013510156124815760405162461bcd60e51b815260040180806020018281038252602b815260200180615520602b913960400191505060405180910390fd5b6101008301356124d8576040805162461bcd60e51b815260206004820152601e60248201527f6d696e696d756d44616f426f756e74792073686f756c64206265203e20300000604482015290519081900360640190fd5b61012083013561252f576040805162461bcd60e51b815260206004820152601c60248201527f64616f426f756e7479436f6e73742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600061256584600b806020026040519081016040528092919082600b602002808284376000920191909152508691506111c69050565b905060ac60026107d05b613e808110156125b757608087013581108015612593575060028102608088013511155b156125a9578183816125a157fe5b0492506125b7565b60019091019060020261256f565b50604080516101a0810182528735815260208089013590820152878201359181019190915260608088013590820152608080820190612604908901356001600160d81b03166103e8614836565b81526020810184905260a088810135604083015260c0808a0135606084015260e0808b013560808501526101008b0135928401929092526101208a0135908301520187600a6020908102919091013582526001600160a01b03978816918101919091526000858152808252604090819020835181559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910180546001600160a01b0319169190961617909455509392505050565b8061271a816139ee565b6113b057600080fd5b60006114cd85858585614469565b6000908152600b602052604090205490565b60076020526000908152604090205481565b828261276082612731565b811115801561276f5750600081115b6127b7576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6127c0856139ee565b612808576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000858152600a6020908152604080832033845290915290205415612864576040805162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b604482015290519081900360640190fd5b6000858152600a6020908152604080832033808552908352928190208781556001018690558051888152918201929092528082018690526060810185905290517f0aad680ea090e3d71ef3942023475bbf0e4092d03db1a09f00e9a8f2e046e2829181900360800190a15050505050565b600860209081526000928352604080842090915290825290205481565b600181565b6000918252600160209081526040808420928452600f909201905290205490565b6003602052600090815260409020546001600160a01b031681565b60046020526000908152604090205481565b600081815260016020526040812060056001820154600160a01b900460ff16600681111561296f57fe5b1480612994575060066001820154600160a01b900460ff16600681111561299257fe5b145b6129cf5760405162461bcd60e51b815260040180806020018281038252603381526020018061560a6033913960400191505060405180910390fd5b6129d883614859565b612a29576040805162461bcd60e51b815260206004820152601760248201527f70726f706f73616c206e65656420746f20657870697265000000000000000000604482015290519081900360640190fd5b612a55612a48600b83016001015460048401549063ffffffff6110f316565b429063ffffffff6143e616565b600a820155612a6383611aa5565b6008820154909250612a7b908363ffffffff6143e616565b60088201556006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015612ad457600080fd5b505af1158015612ae8573d6000803e3d6000fd5b505050506040513d6020811015612afe57600080fd5b5051612b51576040805162461bcd60e51b815260206004820152601d60248201527f7472616e7366657220746f206d73672e73656e646572206661696c6564000000604482015290519081900360640190fd5b604080518381529051339185917f7468017f6ff596af88244327e88fe691ac48cc1db88b033d11c335f2c7ccdd039181900360200190a350919050565b6000611150826139ee565b3360009081526009602052604090206001810192909255600290910155565b612bc0615420565b60008281526001602052604090819020815160608101909252600b0160038282826020028201915b815481526020019060010190808311612be85750505050509050919050565b612c0f615420565b600083815260016020526040902060026001820154600160a01b900460ff166006811115612c3957fe5b1480612c5d5750600180820154600160a01b900460ff166006811115612c5b57fe5b145b612c985760405162461bcd60e51b815260040180806020018281038252602d8152602001806154f3602d913960400191505060405180910390fd5b612ca061532e565b5060058082015460009081526020818152604080832081516101a081018352815481526001820154818501526002808301548285015260038301546060830152600483015460808301529582015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528816845260138601835281842094860154845260128601909252822054909291612dac612d7689611aa5565b600160009081526012880160205260408082205460028352912054612da09163ffffffff6110f316565b9063ffffffff6143e616565b600184015490915015612e7757600180860154600160a01b900460ff166006811115612dd457fe5b1415612de65760018301548652612e6f565b600285015483541415612e6f57825460011415612e4d578085600701541015612e48576000612e228660070154836143e690919063ffffffff16565b905082612e3c82866001015461434b90919063ffffffff16565b81612e4357fe5b048752505b612e6f565b60018301548290612e64908363ffffffff61434b16565b81612e6b57fe5b0486525b600060018401555b600e85015460ff16158015612ea7575084546000908152600360205260409020546001600160a01b038881169116145b8015612ecc5750600180860154600160a01b900460ff166006811115612ec957fe5b14155b8015612edc575060028560020154145b15612f2d576007850154612f1b90612da084612efe838663ffffffff61434b16565b81612f0557fe5b048960005b60200201519063ffffffff6110f316565b8652600e8501805460ff191660011790555b6001600160a01b03871660009081526011860160205260409020600181015415801590612f5e5750600281015460ff165b1561309d57600180870154600160a01b900460ff166006811115612f7e57fe5b1415612fb4576064612fa2866101000151836001015461434b90919063ffffffff16565b81612fa957fe5b046020880152613095565b805460028701541415613095576000600187600201541415612fe9575060026000908152601087016020526040902054612ffe565b50600160009081526010870160205260409020545b60646130188761010001518361434b90919063ffffffff16565b8161301f57fe5b6002890154600090815260108a016020526040902054600185015492909104925061308e91613054908463ffffffff61434b16565b8161305b57fe5b04606461307a896101000151866001015461434b90919063ffffffff16565b8161308157fe5b049063ffffffff6110f316565b6020890152505b600060018201555b60038601546001600160a01b0389811691161480156130c0575060018660020154145b80156130d8575060038601546001600160a01b031615155b156130fa5760e085015160408801526003860180546001600160a01b03191690555b8651156132475786516008870154613111916143e6565b600887015560065487516040805163a9059cbb60e01b81526001600160a01b038c8116600483015260248201939093529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561316f57600080fd5b505af1158015613183573d6000803e3d6000fd5b505050506040513d602081101561319957600080fd5b50516131ec576040805162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b8554600090815260036020908152604091829020548951835190815292516001600160a01b038c8116949216928d927f6d26871c9f457d104b2122485f659f126f7a0cf6938cf20482c03f49794a2fbf929081900390910190a45b604087015161325890886001612f0a565b1561336c5760018601546001600160a01b031663d29b5d2f61328389600260200201518a6001612f0a565b8a8c6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156132db57600080fd5b505af11580156132ef573d6000803e3d6000fd5b505050506040513d602081101561330557600080fd5b505085546000908152600360205260409020546001600160a01b03808a1691168a7f7419b736daacf66d5c1645948c956fca2b83be1e2e02d486d65713f289d683b861335a8b600260200201518c6001612f0a565b60408051918252519081900360200190a45b50505050505092915050565b6000908152600160208181526040808420838552600f81018352818520546002808752838720548688526010840186528488205482895285892054978952601290940190955283872054908752929095205494959294909392565b600061115082614428565b6000816133ea816139ee565b6133f357600080fd5b6133fc83614859565b9392505050565b60026020526000908152604090205481565b6001600160a01b0387163014613468576040805162461bcd60e51b815260206004820152601360248201527277726f6e6720766f74696e674d616368696e6560681b604482015290519081900360640190fd5b613471866139ee565b6134b9576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b61350a82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611826925061350591508b90508a8a8a8a6120df565b6141f6565b6001600160a01b0316856001600160a01b03161461355e576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b61356a86868686613a61565b50600086815260016020526040902054613583906140d5565b50505050505050565b60008282650100000000005b81156114cd5781600116600114156135b7576135b48184615180565b90505b60019190911c9081156135d1576135ce8384615180565b92505b613598565b600084846135e382612731565b81111580156135f25750600081115b61363a576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6000851161368f576040805162461bcd60e51b815260206004820152601b60248201527f7374616b696e6720616d6f756e742073686f756c64206265203e300000000000604482015290519081900360640190fd5b61369887614859565b156136a657600192506139e4565b600087815260016020526040902060046001820154600160a01b900460ff1660068111156136d057fe5b141580156136f8575060036001820154600160a01b900460ff1660068111156136f557fe5b14155b156137075760009350506139e4565b6001600160a01b03851660009081526013820160205260409020600181015415801590613735575080548814155b15613745576000945050506139e4565b600654604080516323b872dd60e01b81526001600160a01b038981166004830152306024830152604482018b905291518a9392909216916323b872dd916064808201926020929091908290030181600087803b1580156137a457600080fd5b505af11580156137b8573d6000803e3d6000fd5b505050506040513d60208110156137ce57600080fd5b5051613821576040805162461bcd60e51b815260206004820152601960248201527f6661696c207472616e736665722066726f6d207374616b657200000000000000604482015290519081900360640190fd5b6008830154613836908263ffffffff6110f316565b60088401556001820154613850908263ffffffff6110f316565b60018301819055600160801b10156138af576040805162461bcd60e51b815260206004820152601a60248201527f7374616b696e6720616d6f756e7420697320746f6f2068696768000000000000604482015290519081900360640190fd5b60068301546138c990600160801b9063ffffffff6143e616565b83600801541115613921576040805162461bcd60e51b815260206004820152601860248201527f746f74616c207374616b657320697320746f6f20686967680000000000000000604482015290519081900360640190fd5b600189141561394557600282015461393f908263ffffffff6110f316565b60028301555b888255600089815260128401602052604090205461396a90829063ffffffff6110f316565b60008a81526012850160209081526040808320939093558554825260038152908290205482518c81529182018b905282516001600160a01b03808c16949216928e927fd0239d7d4acf51def4507fa173be466927de5d75d8b10d840cd6994d6e10231092918290030190a46139de8a614859565b95505050505b5050949350505050565b600081815260016020819052604082200154600160a01b900460ff166004816006811115613a1857fe5b1480613a2f57506005816006811115613a2d57fe5b145b80613a4557506006816006811115613a4357fe5b145b806133fc57506003816006811115613a5957fe5b149392505050565b60008483613a6e82612731565b8111158015613a7d5750600081115b613ac5576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b613ace87614859565b15613adc57600192506139e4565b613ae461532e565b506000878152600160208181526040808420600580820154865285845282862083516101a0810185528154815281870154818701526002820154818601526003820154606082015260048083015460808301529282015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528e8852868652958301548451634ac41bc760e11b81528e881693810193909352602483018f905293519096929592949390921692639588378e92604480840193829003018186803b158015613beb57600080fd5b505afa158015613bff573d6000803e3d6000fd5b505050506040513d6020811015613c1557600080fd5b5051905080613c6b576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b86811015613cb5576040805162461bcd60e51b8152602060048201526012602482015271072657075746174696f6e203e3d205f7265760741b604482015290519081900360640190fd5b8680613cbe5750805b6001600160a01b038a16600090815260118401602052604090206001015415613cee5760009650505050506139e4565b6000898152600f84016020526040902054613d1090829063ffffffff6110f316565b60008a8152600f8501602052604080822083905560028601548252812054908b90521080613d6857506002808401546000908152600f8501602052604080822054928252902054148015613d68575060018360020154145b15613e775760056001840154600160a01b900460ff166006811115613d8957fe5b148015613da9575060c0840151604085015103600b840160010154420310155b80613dcd575060066001840154600160a01b900460ff166006811115613dcb57fe5b145b15613e6f5760066001840154600160a01b900460ff166006811115613dee57fe5b14613e685760c0840151600484015560018301805460ff60a01b1916600360a11b17908190556040518c917f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f991600160a01b90910460ff169080826006811115613e5457fe5b60ff16815260200191505060405180910390a25b42600c8401555b600283018990555b604080516060810182528a81526020810183905290810160046001860154600160a01b900460ff166006811115613eaa57fe5b1480613ecf575060036001860154600160a01b900460ff166006811115613ecd57fe5b145b151590526001600160a01b038b166000908152601185016020908152604091829020835181559083015160018201559101516002909101805460ff191691151591909117905560046001840154600160a01b900460ff166006811115613f3157fe5b1480613f56575060036001840154600160a01b900460ff166006811115613f5457fe5b145b15614061576000898152601084016020526040902054613f7d90829063ffffffff6110f316565b60008a8152601085016020526040812091909155610100850151606490613faa908463ffffffff61434b16565b81613fb157fe5b0490508360010160009054906101000a90046001600160a01b03166001600160a01b031663f81f8bf6828d8f6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561403357600080fd5b505af1158015614047573d6000803e3d6000fd5b505050506040513d602081101561405d57600080fd5b5050505b82546000908152600360209081526040918290205482518c815291820184905282516001600160a01b03808f16949216928f927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92918290030190a46140c68b614859565b9b9a5050505050505050505050565b6000818152600360209081526040808320546001600160a01b0316808452600990925290912060010154156113b0576001600160a01b03811660009081526009602052604081206002015461415d90614135903a9063ffffffff61433516565b6001600160a01b0384166000908152600960205260409020600101549063ffffffff61434b16565b6001600160a01b03831660009081526009602052604090205490915081116141f1576001600160a01b0382166000908152600960205260409020546141a8908263ffffffff6143e616565b6001600160a01b038316600090815260096020526040808220929092559051339183156108fc02918491818181858888f193505050501580156141ef573d6000803e3d6000fd5b505b505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461425a57506000611150565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156142a05760009350505050611150565b8060ff16601b141580156142b857508060ff16601c14155b156142c95760009350505050611150565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015614320573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000818310614344578161114d565b5090919050565b60008261435a57506000611150565b8282028284828161436757fe5b041461114d5760405162461bcd60e51b81526004018080602001828103825260218152602001806155746021913960400191505060405180910390fd5b600061114d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506151e4565b600061114d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615286565b600081815260016020818152604080842060028552601281019092528084205492845283205490916133fc916001600160d81b03169063ffffffff61483616565b6000600285101561447957600080fd5b6000848152602081905260409020600b015442116144cf576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd081858dd1a5d99481e595d60921b604482015290519081900360640190fd5b600084815260208190526040902054603211156144eb57600080fd5b600554604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061453090600163ffffffff6110f316565b60055561453b61539f565b33602082810182905260408051606093841b818401526001600160601b031988851b16603482015281516028818303018152604890910182528051908301208452600381850181905261018085015142905260008a815280845282812060029081015460a08801526001600160a01b038b811660808901529587015260c086018b905285518152925290205416614629576001600160a01b0384166145ff578051600090815260036020526040902080546001600160a01b03191633179055614629565b8051600090815260036020526040902080546001600160a01b0319166001600160a01b0386161790555b8051600090815260046020908152604080832054898452918390528220600a015461466091606491611b099163ffffffff61434b16565b60008881526020819052604090206009015490915061468690829063ffffffff6152e016565b60e0830152600083815260016020818152604092839020855181559085015191810180546001600160a01b0319166001600160a01b03909316929092178083559285015185939192909160ff60a01b1916600160a01b8360068111156146e857fe5b0217905550606082015160028201556080820151600380830180546001600160a01b0319166001600160a01b039093169290921790915560a0830151600483015560c0830151600583015560e08301516006830155610100830151600783015561012083015160088301556101408301516009830155610160830151600a83015561018083015161477e91600b8401919061543e565b506101a09190910151600e909101805460ff191691151591909117905560e0820151600084815260016020908152604080832060028452601201825280832093909355858252600b81528282208b90558451825260038152908290205482518b81526001600160a01b038a8116938201939093528084018b9052925191169185917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c916060908290030190a350909695505050505050565b600061114d6001600160d81b0380851665010000000000908102918516026152f0565b600081614865816139ee565b61486e57600080fd5b600083815260016020526040902061488461532e565b506005808201546000908152602081815260409182902082516101a0810184528154815260018201549281019290925260028101549282019290925260038201546060820152600482015460808201529181015460a0830152600681015460c0830152600781015460e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c01546001600160a01b031661018082015261493861539f565b604080516101c0810182528454815260018501546001600160a01b03811660208301529091859190830190600160a01b900460ff16600681111561497857fe5b600681111561498357fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311614a0c575050509183525050600e919091015460ff16151560209182015260018501546040805163b551c37360e01b8152600481018b905290519394506000936001600160a01b039092169263b551c37392602480840193829003018186803b158015614a8757600080fd5b505afa158015614a9b573d6000803e3d6000fd5b505050506040513d6020811015614ab157600080fd5b505183518554600090815260086020908152604080832060058a0154845282528083205460028a01548452600f8a01909252822054939450606485049092029261271085048302919081908190861015614b8257600360018b0154600160a01b900460ff166006811115614b2157fe5b1415614b305760019250614b60565b600460018b0154600160a01b900460ff166006811115614b4c57fe5b1415614b5b5760039250614b60565b600592505b60018a0180546002919060ff60a01b1916600160a01b835b0217905550614dd3565b600360018b0154600160a01b900460ff166006811115614b9e57fe5b1415614c20576020890151600b8b0154420310614bd95760018a01805460ff60a01b1916600160a01b1790556002808b018190559250614c20565b614beb8a600501548b60000154611489565b905080614bf78e614428565b1115614c205760018a01805460ff60a01b1916600160a21b17905542600d8b015560098a018190555b600460018b0154600160a01b900460ff166006811115614c3c57fe5b1415614dd357614c548a600501548b60000154611489565b60608a0151909150600b8b0160020154420310614d445780614c758e614428565b1115614d235789546000908152600260205260409020546110001115614d1e5760018a8101805460ff60a01b1916600560a01b17905560608a0151600d8c015401600c8c01558a54600090815260026020818152604080842080549095019094558d54835260048152838320548282528484205492845260128f0190915292909120549193509083900381614d0657fe5b8b546000908152600460205260409020919005830190555b614d3f565b60018a0180546003919060ff60a01b1916600160a01b83614b78565b614dd3565b6000614d4f8e614428565b60098c0154909150614d67908363ffffffff61433516565b8111614d875760018b01805460ff60a01b1916600360a01b179055614dd1565b808b600901541115614dd15760098b018290556040805183815290518f917fad767d61af51c7895fa3cc0497dde01afb610c74e55ee4d8a71fa5e3ee136d54919081900360200190a25b505b600560018b0154600160a01b900460ff166006811115614def57fe5b1480614e145750600660018b0154600160a01b900460ff166006811115614e1257fe5b145b15614e845760048a0154600c8b0154420310614e845760028a01546000908152600f8b0160205260409020548411614e645760018a01805460ff60a01b1916600160a11b17905560059250614e84565b60018a01805460ff60a01b1916600160a01b1790556002808b0155600492505b6000836005811115614e9257fe5b146150d8576004836005811115614ea557fe5b1480614ebc57506005836005811115614eba57fe5b145b15614f77578751600090815260026020526040902054614ee390600163ffffffff6143e616565b88516000908152600260205260408082209290925589518152205480614f19578a54600090815260046020526040812055614f75565b8a546000908152600460209081526040808320546002845260128f01909252909120549093508190614f5890612da0866001850163ffffffff61434b16565b81614f5f57fe5b8c54600090815260046020526040902091900490555b505b600360008b60000154815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b03168d7f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d108c600201548a604051808381526020018281526020019250505060405180910390a38c7f46a713b994c752c68fbefa9048bec9a0010cc7d933ad95a3c3dbb25931a167e7846040518082600581111561502257fe5b60ff16815260200191505060405180910390a289600601548a600701819055508960010160009054906101000a90046001600160a01b03166001600160a01b0316639d4c162d8e8c600201546040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b1580156150ab57600080fd5b505af11580156150bf573d6000803e3d6000fd5b505050506040513d60208110156150d557600080fd5b50505b60018a0154600160a01b900460ff1660068111156150f257fe5b8860400151600681111561510257fe5b1461515f578c7f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f98b60010160149054906101000a900460ff166040518082600681111561514b57fe5b60ff16815260200191505060405180910390a25b600083600581111561516d57fe5b14159d9c50505050505050505050505050565b60008282028284828161518f57fe5b04146151da576040805162461bcd60e51b81526020600482015260156024820152745265616c4d617468206d756c206f766572666c6f7760581b604482015290519081900360640190fd5b60281c9392505050565b600081836152705760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561523557818101518382015260200161521d565b50505050905090810190601f1680156152625780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161527c57fe5b0495945050505050565b600081848411156152d85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561523557818101518382015260200161521d565b505050900390565b600081831015614344578161114d565b6000816501000000000084028161530357fe5b049392505050565b604051806060016040528060008152602001600081526020016000151581525090565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604080516101c081018252600080825260208201819052909182019081526020016000815260200160006001600160a01b0316815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152602001615413615420565b8152600060209091015290565b60405180606001604052806003906020820280388339509192915050565b826003810192821561546c579160200282015b8281111561546c578251825591602001919060010190615451565b5061547892915061547c565b5090565b611dbc91905b808211156154785760008155600101615482565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906114e4575014159291505056fe61646472657373206e6f7420616c6c6f77656420746f20766f7465206f6e20626568616c6650726f706f73616c2073686f756c64206265204578656375746564206f722045787069726564496e5175657565626f6f73746564566f7465506572696f644c696d6974203e3d207175696574456e64696e67506572696f643530203c3d20717565756564566f7465526571756972656450657263656e74616765203c3d20313030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77445844566f74696e674d616368696e653a204f7267616e697a6174696f6e20726566756e642062616c616e6365206973207a65726f445844566f74696e674d616368696e653a2041646472657373206e6f74207265676973746572656420696e206f7267616e697a6174696f6e5265666f756e647370726f706f73616c20737461746520696e206e6f7420426f6f73746564206e6f72205175696574456e64696e67506572696f64a265627a7a7231582006612669ea7268cfed7348a0c384834d2f39d012fee2593da7118ffcb0691b4264736f6c63430005110032", - "deployedBytecode": "0x6080604052600436106103355760003560e01c806377213844116101ab578063b2449d65116100f7578063c8f526e811610095578063e5af18c51161006f578063e5af18c514610fcd578063e751f27114610ff7578063fb6c0cbb14611021578063fe0d26181461104b57610335565b8063c8f526e814610ed5578063cc3bf9e914610f37578063e09a2c3014610f7057610335565b8063bb5a05ed116100d1578063bb5a05ed14610e27578063beda801514610e51578063c083510614610e7b578063c0ceec1e14610ea557610335565b8063b2449d6514610db8578063b451291314610dcd578063ba51b14e14610dfd57610335565b80639525c0cc11610164578063a003651d1161013e578063a003651d14610cf5578063a05ea6e414610d1f578063a30ccbe614610d52578063ae9f5cea14610d8857610335565b80639525c0cc14610c845780639afeffc114610cae5780639bc5689d146104e057610335565b80637721384414610afa57806379a1c1f614610b4757806380f5e0a114610b9757806381bd671d14610bc157806388737b5e14610c045780638894c41b14610c4b57610335565b8063359afa49116102855780635142bc1e116102235780636359036b116101fd5780636359036b14610a215780636e5b43ec14610a5a5780637074376814610a9957806372f702f314610ac957610335565b80635142bc1e146109a957806351d997b2146109be57806361d585da146109d357610335565b80633d6254c81161025f5780633d6254c8146108595780633fead6501461089257806340474873146108e3578063488c65fc1461090d57610335565b8063359afa49146107425780633a8b3bd2146107875780633c1338181461082f57610335565b80631702ef0c116102f25780632d598e58116102cc5780632d598e58146105f85780632daedd521461062857806330ca0a531461067257806332ed5b121461068757610335565b80631702ef0c1461058057806321b4b3dc146105aa5780632514e2bf146105bf57610335565b806302506804146103b557806307b4e1e31461044d578063089af68e146104c95780630d483442146104e0578063119ce91b146104f557806316db517214610547575b336000908152600960205260409020600101546103835760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b336000908152600960205260409020546103a3903463ffffffff6110f316565b33600090815260096020526040902055005b3480156103c157600080fd5b506103df600480360360208110156103d857600080fd5b5035611156565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e08801526101008701526101208601526101408501526101608401526001600160a01b031661018083015251908190036101a00190f35b34801561045957600080fd5b506104b7600480360361018081101561047157600080fd5b81019080806101600190600b806020026040519081016040528092919082600b602002808284376000920191909152509194505050356001600160a01b031690506111c6565b60408051918252519081900360200190f35b3480156104d557600080fd5b506104de6112d6565b005b3480156104ec57600080fd5b506104b76113b4565b34801561050157600080fd5b5061052e6004803603604081101561051857600080fd5b50803590602001356001600160a01b03166113b9565b6040805192835260208301919091528051918290030190f35b34801561055357600080fd5b5061052e6004803603604081101561056a57600080fd5b50803590602001356001600160a01b031661141c565b34801561058c57600080fd5b506104b7600480360360208110156105a357600080fd5b503561144d565b3480156105b657600080fd5b506104b761145f565b3480156105cb57600080fd5b5061052e600480360360408110156105e257600080fd5b50803590602001356001600160a01b0316611465565b34801561060457600080fd5b506104b76004803603604081101561061b57600080fd5b5080359060200135611489565b34801561063457600080fd5b5061065e6004803603606081101561064b57600080fd5b50803590602081013590604001356114d6565b604080519115158252519081900360200190f35b34801561067e57600080fd5b506104b76114ec565b34801561069357600080fd5b506106b1600480360360208110156106aa57600080fd5b5035611598565b604080518e81526001600160a01b038e1660208201529081018c60068111156106d657fe5b60ff168152602081019b909b52506001600160a01b039098166040808b019190915260608a0197909752608089019590955260a088019390935260c087019190915260e08601526101008501526101208401529015156101408301525190819003610160019350915050f35b34801561074e57600080fd5b5061065e6004803603608081101561076557600080fd5b50803590602081013590604081013590606001356001600160a01b0316611606565b34801561079357600080fd5b506104de600480360360c08110156107aa57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184600183028401116401000000008311171561082457600080fd5b50909250905061176e565b34801561083b57600080fd5b506104b76004803603602081101561085257600080fd5b503561193e565b34801561086557600080fd5b506104de6004803603604081101561087c57600080fd5b50803590602001356001600160a01b0316611953565b34801561089e57600080fd5b506108c5600480360360208110156108b557600080fd5b50356001600160a01b0316611a84565b60408051938452602084019290925282820152519081900360600190f35b3480156108ef57600080fd5b506104b76004803603602081101561090657600080fd5b5035611aa5565b34801561091957600080fd5b5061065e600480360360c081101561093057600080fd5b8135916020810135916040820135916060810135916080820135919081019060c0810160a082013564010000000081111561096a57600080fd5b82018360208201111561097c57600080fd5b8035906020019184600183028401116401000000008311171561099e57600080fd5b509092509050611b15565b3480156109b557600080fd5b5061052e611db1565b3480156109ca57600080fd5b5061065e611db9565b3480156109df57600080fd5b506109fd600480360360208110156109f657600080fd5b5035611dbf565b60405180826006811115610a0d57fe5b60ff16815260200191505060405180910390f35b348015610a2d57600080fd5b5061052e60048036036040811015610a4457600080fd5b50803590602001356001600160a01b0316611ddf565b348015610a6657600080fd5b506104de60048036036060811015610a7d57600080fd5b506001600160a01b03813516906020810135906040013561205a565b348015610aa557600080fd5b506104b760048036036040811015610abc57600080fd5b50803590602001356120af565b348015610ad557600080fd5b50610ade6120d0565b604080516001600160a01b039092168252519081900360200190f35b348015610b0657600080fd5b506104b7600480360360a0811015610b1d57600080fd5b506001600160a01b03813581169160208101359160408201351690606081013590608001356120df565b348015610b5357600080fd5b50610b7160048036036020811015610b6a57600080fd5b503561213a565b604080519485526020850193909352838301919091526060830152519081900360800190f35b348015610ba357600080fd5b5061065e60048036036020811015610bba57600080fd5b503561217d565b348015610bcd57600080fd5b506104b760048036036060811015610be457600080fd5b506001600160a01b038135811691602081013590911690604001356122ba565b348015610c1057600080fd5b506104b760048036036080811015610c2757600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612314565b348015610c5757600080fd5b506104b76004803603610180811015610c6f57600080fd5b506001600160a01b0361016082013516612323565b348015610c9057600080fd5b506104de60048036036020811015610ca757600080fd5b5035612710565b348015610cba57600080fd5b506104b760048036036080811015610cd157600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612723565b348015610d0157600080fd5b506104b760048036036020811015610d1857600080fd5b5035612731565b348015610d2b57600080fd5b506104b760048036036020811015610d4257600080fd5b50356001600160a01b0316612743565b348015610d5e57600080fd5b506104de60048036036060811015610d7557600080fd5b5080359060208101359060400135612755565b348015610d9457600080fd5b506104b760048036036040811015610dab57600080fd5b50803590602001356128d5565b348015610dc457600080fd5b506104b76128f2565b348015610dd957600080fd5b506104b760048036036040811015610df057600080fd5b50803590602001356128f7565b348015610e0957600080fd5b50610ade60048036036020811015610e2057600080fd5b5035612918565b348015610e3357600080fd5b506104b760048036036020811015610e4a57600080fd5b5035612933565b348015610e5d57600080fd5b506104b760048036036020811015610e7457600080fd5b5035612945565b348015610e8757600080fd5b5061065e60048036036020811015610e9e57600080fd5b5035612b8e565b348015610eb157600080fd5b506104de60048036036040811015610ec857600080fd5b5080359060200135612b99565b348015610ee157600080fd5b50610eff60048036036020811015610ef857600080fd5b5035612bb8565b6040518082606080838360005b83811015610f24578181015183820152602001610f0c565b5050505090500191505060405180910390f35b348015610f4357600080fd5b50610eff60048036036040811015610f5a57600080fd5b50803590602001356001600160a01b0316612c07565b348015610f7c57600080fd5b50610f9a60048036036020811015610f9357600080fd5b5035613378565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b348015610fd957600080fd5b506104b760048036036020811015610ff057600080fd5b50356133d3565b34801561100357600080fd5b5061065e6004803603602081101561101a57600080fd5b50356133de565b34801561102d57600080fd5b506104b76004803603602081101561104457600080fd5b5035613403565b34801561105757600080fd5b506104de600480360360c081101561106e57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156110b457600080fd5b8201836020820111156110c657600080fd5b803590602001918460018302840111640100000000831117156110e857600080fd5b509092509050613415565b60008282018381101561114d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600060208190529081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c909c01549a9b999a989997989697959694959394929391929091906001600160a01b03168d565b60008281602002015183600160200201518460026020020151856003602002015186600460200201518760056020020151886006602002015189600760200201518a600860200201518b600960200201518c600a6020020151604051602001808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001208260405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120905092915050565b336000908152600960205260409020600101546113245760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b3360009081526009602052604090205461136f5760405162461bcd60e51b81526004018080602001828103825260358152602001806155956035913960400191505060405180910390fd5b33600081815260096020526040808220805490839055905190929183156108fc02918491818181858888f193505050501580156113b0573d6000803e3d6000fd5b5050565b600281565b6000806113c461530b565b50505060009182526001602081815260408085206001600160a01b039490941685526011909301815292829020825160608101845281548082529282015494810185905260029091015460ff16151592019190915291565b60009182526001602081815260408085206001600160a01b0394909416855260139093019052912080549101549091565b60009081526001602052604090205490565b60055481565b600a6020908152600092835260408084209091529082529020805460019091015482565b60008181526002602090815260408083205485845291839052822060058101548211156114b857806005015491505b60048101546114cd908363ffffffff61358c16565b95945050505050565b60006114e4848484336135d6565b949350505050565b604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e909201909252805191012081565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a0154600e909a01546001600160a01b03808b169b60ff600160a01b909c048c169b99909116989091168d565b600084611612816139ee565b61161b57600080fd5b600086815260016020526040902061163161532e565b5060058082015460009081526020818152604080832081516101a0810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015460808301529283015460a0820152600683015460c0820152600783015460e082015260088301546101008201526009830154610120820152600a830154610140820152600b830154610160820152600c909201546001600160a01b0316610180830181905215611741578161018001516001600160a01b0316336001600160a01b03161461173a5760405162461bcd60e51b81526004018080602001828103825260258152602001806154ce6025913960400191505060405180910390fd5b5084611744565b50335b60006117528a838b8b613a61565b905061176184600001546140d5565b9998505050505050505050565b858461177982612731565b81111580156117885750600081115b6117d0576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b60006117df8a8a8a8a8a6120df565b905061183285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061182692508591506141f69050565b9063ffffffff61424716565b6001600160a01b0316886001600160a01b031614611886576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b7f46e3ceeda21faa4b362b93454c3125977acdd239013fd4f0ec651e88657e6cfb8a8a8a8a8a8a8a60405180886001600160a01b03166001600160a01b03168152602001878152602001866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039a509098505050505050505050a150505050505050505050565b60009081526001602052604090206002015490565b61195c826139ee565b6119a4576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b0385168452909152902054611a0c576040805162461bcd60e51b81526020600482015260116024820152701ddc9bdb99c81d9bdd19481cda185c9959607a1b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b038516845290915290208054600190910154611a44918491849190613a61565b506000828152600a602090815260408083206001600160a01b0385168452825280832083815560019081018490558584529091529020546113b0906140d5565b60096020526000908152604090208054600182015460029092015490919083565b6000818152600160205260408120600a01546105dc908290611ace90839063ffffffff61433516565b6000858152600160208181526040808420928452601290920190529020549091506114e490600a840290611b0990849063ffffffff61434b16565b9063ffffffff6143a416565b6000808460021415611c385750604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e830184528051908201203060601b609e84015260b283018c905260d283018b905260f283018a90526101128084018a9052845180850390910181526101328401855280519083012061015284019190915261017280840191909152835180840390910181526101929092019092528051910120611c89565b604080513060601b602080830191909152603482018c9052605482018b9052607482018a905260948083018a90528351808403909101815260b49092019092528051910120611c86906141f6565b90505b6000611cd385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff614247169050565b90506001600160a01b038116611d30576040805162461bcd60e51b815260206004820152601a60248201527f7374616b657220616464726573732063616e6e6f742062652030000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600760205260409020548714611d5457600080fd5b6001600160a01b038116600090815260076020526040902054611d7e90600163ffffffff6110f316565b6001600160a01b038216600090815260076020526040902055611da38a8a8a846135d6565b9a9950505050505050505050565b600160029091565b60005b90565b60009081526001602081905260409091200154600160a01b900460ff1690565b6000828152600160205260408120819060026001820154600160a01b900460ff166006811115611e0b57fe5b14611e1557600080fd5b60028082015460009081526012830160209081526040808320546001600160a01b0389168452601386019092529091209182015490919015801590611e5e575060028301548154145b8015611e6e575060018360020154145b8015611e7957508115155b15611e955781836007015482600201540281611e9157fe5b0493505b8315801590611f2a5750600183015460065460408051636b8eb40360e01b81526001600160a01b039283166004820152602481018b9052905187939290921691636b8eb40391604480820192602092909190829003018186803b158015611efb57600080fd5b505afa158015611f0f573d6000803e3d6000fd5b505050506040513d6020811015611f2557600080fd5b505110155b1561205057600060028201556006830154611f4b908563ffffffff6143e616565b60068085019190915560018401549054604080516317d4ebe560e31b81526001600160a01b039283166004820152898316602482015260448101889052606481018b90529051919092169163bea75f289160848083019260209291908290030181600087803b158015611fbd57600080fd5b505af1158015611fd1573d6000803e3d6000fd5b505050506040513d6020811015611fe757600080fd5b5051611ff257600080fd5b8254600090815260036020908152604091829020548251878152925196975087966001600160a01b03808b16949216928b927fb4a37163ec93e05e09b62e52f7f2ea8cfde431802edede7dfebe53d2ad969dbb929081900390910190a45b5050509250929050565b604080516001600160601b0319606095861b166020808301919091523390951b603482015281516028818303018152604890910182528051908501206000908152600885528181209381529290935291902055565b60009182526001602090815260408084209284526012909201905290205490565b6006546001600160a01b031681565b604080516001600160601b0319606097881b811660208084019190915260348301979097529490961b909316605486015260688501919091526088808501919091528151808503909101815260a89093019052815191012090565b6000908152600160208181526040808420838552601081018352818520546002808752838720549587526012909201909352818520549085529320549093919291565b600061218761539f565b60008381526001602081815260409283902083516101c08101855281548152928101546001600160a01b038116928401929092529192830190600160a01b900460ff1660068111156121d557fe5b60068111156121e057fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311612269575050509183525050600e919091015460ff16151560209091015260c081015181519192506122a991611489565b6122b284614428565b119392505050565b604080516001600160601b0319606094851b81166020808401919091529590941b90931660348401528051602881850301815260489093018152825192840192909220600090815260088452828120918152925290205490565b60006114cd6002858585614469565b6000606483351180159061233957506032833510155b6123745760405162461bcd60e51b815260040180806020018281038252602981526020018061554b6029913960400191505060405180910390fd5b613e8060808401351180159061238f57506103e86080840135115b6123e0576040805162461bcd60e51b815260206004820152601e60248201527f31303030203c207468726573686f6c64436f6e7374203c3d2031363030300000604482015290519081900360640190fd5b606460e0840135111561243a576040805162461bcd60e51b815260206004820181905260248201527f766f7465727352657075746174696f6e4c6f7373526174696f203c3d20313030604482015290519081900360640190fd5b60a0830135604084013510156124815760405162461bcd60e51b815260040180806020018281038252602b815260200180615520602b913960400191505060405180910390fd5b6101008301356124d8576040805162461bcd60e51b815260206004820152601e60248201527f6d696e696d756d44616f426f756e74792073686f756c64206265203e20300000604482015290519081900360640190fd5b61012083013561252f576040805162461bcd60e51b815260206004820152601c60248201527f64616f426f756e7479436f6e73742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600061256584600b806020026040519081016040528092919082600b602002808284376000920191909152508691506111c69050565b905060ac60026107d05b613e808110156125b757608087013581108015612593575060028102608088013511155b156125a9578183816125a157fe5b0492506125b7565b60019091019060020261256f565b50604080516101a0810182528735815260208089013590820152878201359181019190915260608088013590820152608080820190612604908901356001600160d81b03166103e8614836565b81526020810184905260a088810135604083015260c0808a0135606084015260e0808b013560808501526101008b0135928401929092526101208a0135908301520187600a6020908102919091013582526001600160a01b03978816918101919091526000858152808252604090819020835181559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910180546001600160a01b0319169190961617909455509392505050565b8061271a816139ee565b6113b057600080fd5b60006114cd85858585614469565b6000908152600b602052604090205490565b60076020526000908152604090205481565b828261276082612731565b811115801561276f5750600081115b6127b7576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6127c0856139ee565b612808576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000858152600a6020908152604080832033845290915290205415612864576040805162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b604482015290519081900360640190fd5b6000858152600a6020908152604080832033808552908352928190208781556001018690558051888152918201929092528082018690526060810185905290517f0aad680ea090e3d71ef3942023475bbf0e4092d03db1a09f00e9a8f2e046e2829181900360800190a15050505050565b600860209081526000928352604080842090915290825290205481565b600181565b6000918252600160209081526040808420928452600f909201905290205490565b6003602052600090815260409020546001600160a01b031681565b60046020526000908152604090205481565b600081815260016020526040812060056001820154600160a01b900460ff16600681111561296f57fe5b1480612994575060066001820154600160a01b900460ff16600681111561299257fe5b145b6129cf5760405162461bcd60e51b815260040180806020018281038252603381526020018061560a6033913960400191505060405180910390fd5b6129d883614859565b612a29576040805162461bcd60e51b815260206004820152601760248201527f70726f706f73616c206e65656420746f20657870697265000000000000000000604482015290519081900360640190fd5b612a55612a48600b83016001015460048401549063ffffffff6110f316565b429063ffffffff6143e616565b600a820155612a6383611aa5565b6008820154909250612a7b908363ffffffff6143e616565b60088201556006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015612ad457600080fd5b505af1158015612ae8573d6000803e3d6000fd5b505050506040513d6020811015612afe57600080fd5b5051612b51576040805162461bcd60e51b815260206004820152601d60248201527f7472616e7366657220746f206d73672e73656e646572206661696c6564000000604482015290519081900360640190fd5b604080518381529051339185917f7468017f6ff596af88244327e88fe691ac48cc1db88b033d11c335f2c7ccdd039181900360200190a350919050565b6000611150826139ee565b3360009081526009602052604090206001810192909255600290910155565b612bc0615420565b60008281526001602052604090819020815160608101909252600b0160038282826020028201915b815481526020019060010190808311612be85750505050509050919050565b612c0f615420565b600083815260016020526040902060026001820154600160a01b900460ff166006811115612c3957fe5b1480612c5d5750600180820154600160a01b900460ff166006811115612c5b57fe5b145b612c985760405162461bcd60e51b815260040180806020018281038252602d8152602001806154f3602d913960400191505060405180910390fd5b612ca061532e565b5060058082015460009081526020818152604080832081516101a081018352815481526001820154818501526002808301548285015260038301546060830152600483015460808301529582015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528816845260138601835281842094860154845260128601909252822054909291612dac612d7689611aa5565b600160009081526012880160205260408082205460028352912054612da09163ffffffff6110f316565b9063ffffffff6143e616565b600184015490915015612e7757600180860154600160a01b900460ff166006811115612dd457fe5b1415612de65760018301548652612e6f565b600285015483541415612e6f57825460011415612e4d578085600701541015612e48576000612e228660070154836143e690919063ffffffff16565b905082612e3c82866001015461434b90919063ffffffff16565b81612e4357fe5b048752505b612e6f565b60018301548290612e64908363ffffffff61434b16565b81612e6b57fe5b0486525b600060018401555b600e85015460ff16158015612ea7575084546000908152600360205260409020546001600160a01b038881169116145b8015612ecc5750600180860154600160a01b900460ff166006811115612ec957fe5b14155b8015612edc575060028560020154145b15612f2d576007850154612f1b90612da084612efe838663ffffffff61434b16565b81612f0557fe5b048960005b60200201519063ffffffff6110f316565b8652600e8501805460ff191660011790555b6001600160a01b03871660009081526011860160205260409020600181015415801590612f5e5750600281015460ff165b1561309d57600180870154600160a01b900460ff166006811115612f7e57fe5b1415612fb4576064612fa2866101000151836001015461434b90919063ffffffff16565b81612fa957fe5b046020880152613095565b805460028701541415613095576000600187600201541415612fe9575060026000908152601087016020526040902054612ffe565b50600160009081526010870160205260409020545b60646130188761010001518361434b90919063ffffffff16565b8161301f57fe5b6002890154600090815260108a016020526040902054600185015492909104925061308e91613054908463ffffffff61434b16565b8161305b57fe5b04606461307a896101000151866001015461434b90919063ffffffff16565b8161308157fe5b049063ffffffff6110f316565b6020890152505b600060018201555b60038601546001600160a01b0389811691161480156130c0575060018660020154145b80156130d8575060038601546001600160a01b031615155b156130fa5760e085015160408801526003860180546001600160a01b03191690555b8651156132475786516008870154613111916143e6565b600887015560065487516040805163a9059cbb60e01b81526001600160a01b038c8116600483015260248201939093529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561316f57600080fd5b505af1158015613183573d6000803e3d6000fd5b505050506040513d602081101561319957600080fd5b50516131ec576040805162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b8554600090815260036020908152604091829020548951835190815292516001600160a01b038c8116949216928d927f6d26871c9f457d104b2122485f659f126f7a0cf6938cf20482c03f49794a2fbf929081900390910190a45b604087015161325890886001612f0a565b1561336c5760018601546001600160a01b031663d29b5d2f61328389600260200201518a6001612f0a565b8a8c6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156132db57600080fd5b505af11580156132ef573d6000803e3d6000fd5b505050506040513d602081101561330557600080fd5b505085546000908152600360205260409020546001600160a01b03808a1691168a7f7419b736daacf66d5c1645948c956fca2b83be1e2e02d486d65713f289d683b861335a8b600260200201518c6001612f0a565b60408051918252519081900360200190a45b50505050505092915050565b6000908152600160208181526040808420838552600f81018352818520546002808752838720548688526010840186528488205482895285892054978952601290940190955283872054908752929095205494959294909392565b600061115082614428565b6000816133ea816139ee565b6133f357600080fd5b6133fc83614859565b9392505050565b60026020526000908152604090205481565b6001600160a01b0387163014613468576040805162461bcd60e51b815260206004820152601360248201527277726f6e6720766f74696e674d616368696e6560681b604482015290519081900360640190fd5b613471866139ee565b6134b9576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b61350a82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611826925061350591508b90508a8a8a8a6120df565b6141f6565b6001600160a01b0316856001600160a01b03161461355e576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b61356a86868686613a61565b50600086815260016020526040902054613583906140d5565b50505050505050565b60008282650100000000005b81156114cd5781600116600114156135b7576135b48184615180565b90505b60019190911c9081156135d1576135ce8384615180565b92505b613598565b600084846135e382612731565b81111580156135f25750600081115b61363a576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6000851161368f576040805162461bcd60e51b815260206004820152601b60248201527f7374616b696e6720616d6f756e742073686f756c64206265203e300000000000604482015290519081900360640190fd5b61369887614859565b156136a657600192506139e4565b600087815260016020526040902060046001820154600160a01b900460ff1660068111156136d057fe5b141580156136f8575060036001820154600160a01b900460ff1660068111156136f557fe5b14155b156137075760009350506139e4565b6001600160a01b03851660009081526013820160205260409020600181015415801590613735575080548814155b15613745576000945050506139e4565b600654604080516323b872dd60e01b81526001600160a01b038981166004830152306024830152604482018b905291518a9392909216916323b872dd916064808201926020929091908290030181600087803b1580156137a457600080fd5b505af11580156137b8573d6000803e3d6000fd5b505050506040513d60208110156137ce57600080fd5b5051613821576040805162461bcd60e51b815260206004820152601960248201527f6661696c207472616e736665722066726f6d207374616b657200000000000000604482015290519081900360640190fd5b6008830154613836908263ffffffff6110f316565b60088401556001820154613850908263ffffffff6110f316565b60018301819055600160801b10156138af576040805162461bcd60e51b815260206004820152601a60248201527f7374616b696e6720616d6f756e7420697320746f6f2068696768000000000000604482015290519081900360640190fd5b60068301546138c990600160801b9063ffffffff6143e616565b83600801541115613921576040805162461bcd60e51b815260206004820152601860248201527f746f74616c207374616b657320697320746f6f20686967680000000000000000604482015290519081900360640190fd5b600189141561394557600282015461393f908263ffffffff6110f316565b60028301555b888255600089815260128401602052604090205461396a90829063ffffffff6110f316565b60008a81526012850160209081526040808320939093558554825260038152908290205482518c81529182018b905282516001600160a01b03808c16949216928e927fd0239d7d4acf51def4507fa173be466927de5d75d8b10d840cd6994d6e10231092918290030190a46139de8a614859565b95505050505b5050949350505050565b600081815260016020819052604082200154600160a01b900460ff166004816006811115613a1857fe5b1480613a2f57506005816006811115613a2d57fe5b145b80613a4557506006816006811115613a4357fe5b145b806133fc57506003816006811115613a5957fe5b149392505050565b60008483613a6e82612731565b8111158015613a7d5750600081115b613ac5576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b613ace87614859565b15613adc57600192506139e4565b613ae461532e565b506000878152600160208181526040808420600580820154865285845282862083516101a0810185528154815281870154818701526002820154818601526003820154606082015260048083015460808301529282015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528e8852868652958301548451634ac41bc760e11b81528e881693810193909352602483018f905293519096929592949390921692639588378e92604480840193829003018186803b158015613beb57600080fd5b505afa158015613bff573d6000803e3d6000fd5b505050506040513d6020811015613c1557600080fd5b5051905080613c6b576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b86811015613cb5576040805162461bcd60e51b8152602060048201526012602482015271072657075746174696f6e203e3d205f7265760741b604482015290519081900360640190fd5b8680613cbe5750805b6001600160a01b038a16600090815260118401602052604090206001015415613cee5760009650505050506139e4565b6000898152600f84016020526040902054613d1090829063ffffffff6110f316565b60008a8152600f8501602052604080822083905560028601548252812054908b90521080613d6857506002808401546000908152600f8501602052604080822054928252902054148015613d68575060018360020154145b15613e775760056001840154600160a01b900460ff166006811115613d8957fe5b148015613da9575060c0840151604085015103600b840160010154420310155b80613dcd575060066001840154600160a01b900460ff166006811115613dcb57fe5b145b15613e6f5760066001840154600160a01b900460ff166006811115613dee57fe5b14613e685760c0840151600484015560018301805460ff60a01b1916600360a11b17908190556040518c917f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f991600160a01b90910460ff169080826006811115613e5457fe5b60ff16815260200191505060405180910390a25b42600c8401555b600283018990555b604080516060810182528a81526020810183905290810160046001860154600160a01b900460ff166006811115613eaa57fe5b1480613ecf575060036001860154600160a01b900460ff166006811115613ecd57fe5b145b151590526001600160a01b038b166000908152601185016020908152604091829020835181559083015160018201559101516002909101805460ff191691151591909117905560046001840154600160a01b900460ff166006811115613f3157fe5b1480613f56575060036001840154600160a01b900460ff166006811115613f5457fe5b145b15614061576000898152601084016020526040902054613f7d90829063ffffffff6110f316565b60008a8152601085016020526040812091909155610100850151606490613faa908463ffffffff61434b16565b81613fb157fe5b0490508360010160009054906101000a90046001600160a01b03166001600160a01b031663f81f8bf6828d8f6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561403357600080fd5b505af1158015614047573d6000803e3d6000fd5b505050506040513d602081101561405d57600080fd5b5050505b82546000908152600360209081526040918290205482518c815291820184905282516001600160a01b03808f16949216928f927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92918290030190a46140c68b614859565b9b9a5050505050505050505050565b6000818152600360209081526040808320546001600160a01b0316808452600990925290912060010154156113b0576001600160a01b03811660009081526009602052604081206002015461415d90614135903a9063ffffffff61433516565b6001600160a01b0384166000908152600960205260409020600101549063ffffffff61434b16565b6001600160a01b03831660009081526009602052604090205490915081116141f1576001600160a01b0382166000908152600960205260409020546141a8908263ffffffff6143e616565b6001600160a01b038316600090815260096020526040808220929092559051339183156108fc02918491818181858888f193505050501580156141ef573d6000803e3d6000fd5b505b505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461425a57506000611150565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156142a05760009350505050611150565b8060ff16601b141580156142b857508060ff16601c14155b156142c95760009350505050611150565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015614320573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000818310614344578161114d565b5090919050565b60008261435a57506000611150565b8282028284828161436757fe5b041461114d5760405162461bcd60e51b81526004018080602001828103825260218152602001806155746021913960400191505060405180910390fd5b600061114d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506151e4565b600061114d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615286565b600081815260016020818152604080842060028552601281019092528084205492845283205490916133fc916001600160d81b03169063ffffffff61483616565b6000600285101561447957600080fd5b6000848152602081905260409020600b015442116144cf576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd081858dd1a5d99481e595d60921b604482015290519081900360640190fd5b600084815260208190526040902054603211156144eb57600080fd5b600554604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061453090600163ffffffff6110f316565b60055561453b61539f565b33602082810182905260408051606093841b818401526001600160601b031988851b16603482015281516028818303018152604890910182528051908301208452600381850181905261018085015142905260008a815280845282812060029081015460a08801526001600160a01b038b811660808901529587015260c086018b905285518152925290205416614629576001600160a01b0384166145ff578051600090815260036020526040902080546001600160a01b03191633179055614629565b8051600090815260036020526040902080546001600160a01b0319166001600160a01b0386161790555b8051600090815260046020908152604080832054898452918390528220600a015461466091606491611b099163ffffffff61434b16565b60008881526020819052604090206009015490915061468690829063ffffffff6152e016565b60e0830152600083815260016020818152604092839020855181559085015191810180546001600160a01b0319166001600160a01b03909316929092178083559285015185939192909160ff60a01b1916600160a01b8360068111156146e857fe5b0217905550606082015160028201556080820151600380830180546001600160a01b0319166001600160a01b039093169290921790915560a0830151600483015560c0830151600583015560e08301516006830155610100830151600783015561012083015160088301556101408301516009830155610160830151600a83015561018083015161477e91600b8401919061543e565b506101a09190910151600e909101805460ff191691151591909117905560e0820151600084815260016020908152604080832060028452601201825280832093909355858252600b81528282208b90558451825260038152908290205482518b81526001600160a01b038a8116938201939093528084018b9052925191169185917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c916060908290030190a350909695505050505050565b600061114d6001600160d81b0380851665010000000000908102918516026152f0565b600081614865816139ee565b61486e57600080fd5b600083815260016020526040902061488461532e565b506005808201546000908152602081815260409182902082516101a0810184528154815260018201549281019290925260028101549282019290925260038201546060820152600482015460808201529181015460a0830152600681015460c0830152600781015460e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c01546001600160a01b031661018082015261493861539f565b604080516101c0810182528454815260018501546001600160a01b03811660208301529091859190830190600160a01b900460ff16600681111561497857fe5b600681111561498357fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311614a0c575050509183525050600e919091015460ff16151560209182015260018501546040805163b551c37360e01b8152600481018b905290519394506000936001600160a01b039092169263b551c37392602480840193829003018186803b158015614a8757600080fd5b505afa158015614a9b573d6000803e3d6000fd5b505050506040513d6020811015614ab157600080fd5b505183518554600090815260086020908152604080832060058a0154845282528083205460028a01548452600f8a01909252822054939450606485049092029261271085048302919081908190861015614b8257600360018b0154600160a01b900460ff166006811115614b2157fe5b1415614b305760019250614b60565b600460018b0154600160a01b900460ff166006811115614b4c57fe5b1415614b5b5760039250614b60565b600592505b60018a0180546002919060ff60a01b1916600160a01b835b0217905550614dd3565b600360018b0154600160a01b900460ff166006811115614b9e57fe5b1415614c20576020890151600b8b0154420310614bd95760018a01805460ff60a01b1916600160a01b1790556002808b018190559250614c20565b614beb8a600501548b60000154611489565b905080614bf78e614428565b1115614c205760018a01805460ff60a01b1916600160a21b17905542600d8b015560098a018190555b600460018b0154600160a01b900460ff166006811115614c3c57fe5b1415614dd357614c548a600501548b60000154611489565b60608a0151909150600b8b0160020154420310614d445780614c758e614428565b1115614d235789546000908152600260205260409020546110001115614d1e5760018a8101805460ff60a01b1916600560a01b17905560608a0151600d8c015401600c8c01558a54600090815260026020818152604080842080549095019094558d54835260048152838320548282528484205492845260128f0190915292909120549193509083900381614d0657fe5b8b546000908152600460205260409020919005830190555b614d3f565b60018a0180546003919060ff60a01b1916600160a01b83614b78565b614dd3565b6000614d4f8e614428565b60098c0154909150614d67908363ffffffff61433516565b8111614d875760018b01805460ff60a01b1916600360a01b179055614dd1565b808b600901541115614dd15760098b018290556040805183815290518f917fad767d61af51c7895fa3cc0497dde01afb610c74e55ee4d8a71fa5e3ee136d54919081900360200190a25b505b600560018b0154600160a01b900460ff166006811115614def57fe5b1480614e145750600660018b0154600160a01b900460ff166006811115614e1257fe5b145b15614e845760048a0154600c8b0154420310614e845760028a01546000908152600f8b0160205260409020548411614e645760018a01805460ff60a01b1916600160a11b17905560059250614e84565b60018a01805460ff60a01b1916600160a01b1790556002808b0155600492505b6000836005811115614e9257fe5b146150d8576004836005811115614ea557fe5b1480614ebc57506005836005811115614eba57fe5b145b15614f77578751600090815260026020526040902054614ee390600163ffffffff6143e616565b88516000908152600260205260408082209290925589518152205480614f19578a54600090815260046020526040812055614f75565b8a546000908152600460209081526040808320546002845260128f01909252909120549093508190614f5890612da0866001850163ffffffff61434b16565b81614f5f57fe5b8c54600090815260046020526040902091900490555b505b600360008b60000154815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b03168d7f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d108c600201548a604051808381526020018281526020019250505060405180910390a38c7f46a713b994c752c68fbefa9048bec9a0010cc7d933ad95a3c3dbb25931a167e7846040518082600581111561502257fe5b60ff16815260200191505060405180910390a289600601548a600701819055508960010160009054906101000a90046001600160a01b03166001600160a01b0316639d4c162d8e8c600201546040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b1580156150ab57600080fd5b505af11580156150bf573d6000803e3d6000fd5b505050506040513d60208110156150d557600080fd5b50505b60018a0154600160a01b900460ff1660068111156150f257fe5b8860400151600681111561510257fe5b1461515f578c7f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f98b60010160149054906101000a900460ff166040518082600681111561514b57fe5b60ff16815260200191505060405180910390a25b600083600581111561516d57fe5b14159d9c50505050505050505050505050565b60008282028284828161518f57fe5b04146151da576040805162461bcd60e51b81526020600482015260156024820152745265616c4d617468206d756c206f766572666c6f7760581b604482015290519081900360640190fd5b60281c9392505050565b600081836152705760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561523557818101518382015260200161521d565b50505050905090810190601f1680156152625780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161527c57fe5b0495945050505050565b600081848411156152d85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561523557818101518382015260200161521d565b505050900390565b600081831015614344578161114d565b6000816501000000000084028161530357fe5b049392505050565b604051806060016040528060008152602001600081526020016000151581525090565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604080516101c081018252600080825260208201819052909182019081526020016000815260200160006001600160a01b0316815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152602001615413615420565b8152600060209091015290565b60405180606001604052806003906020820280388339509192915050565b826003810192821561546c579160200282015b8281111561546c578251825591602001919060010190615451565b5061547892915061547c565b5090565b611dbc91905b808211156154785760008155600101615482565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906114e4575014159291505056fe61646472657373206e6f7420616c6c6f77656420746f20766f7465206f6e20626568616c6650726f706f73616c2073686f756c64206265204578656375746564206f722045787069726564496e5175657565626f6f73746564566f7465506572696f644c696d6974203e3d207175696574456e64696e67506572696f643530203c3d20717565756564566f7465526571756972656450657263656e74616765203c3d20313030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77445844566f74696e674d616368696e653a204f7267616e697a6174696f6e20726566756e642062616c616e6365206973207a65726f445844566f74696e674d616368696e653a2041646472657373206e6f74207265676973746572656420696e206f7267616e697a6174696f6e5265666f756e647370726f706f73616c20737461746520696e206e6f7420426f6f73746564206e6f72205175696574456e64696e67506572696f64a265627a7a7231582006612669ea7268cfed7348a0c384834d2f39d012fee2593da7118ffcb0691b4264736f6c63430005110032", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "DXDVotingMachine", + "sourceName": "dxdao-contracts/contracts/dxvote/DXDVotingMachine.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_stakingToken", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + } + ], + "name": "CancelProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_voter", + "type": "address" + } + ], + "name": "CancelVoting", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_confidenceThreshold", + "type": "uint256" + } + ], + "name": "ConfidenceLevelChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_decision", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_totalReputation", + "type": "uint256" + } + ], + "name": "ExecuteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "ExpirationCallBounty", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "enum GenesisProtocolLogic.ExecutionState", + "name": "_executionState", + "type": "uint8" + } + ], + "name": "GPExecuteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_numOfChoices", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "_proposer", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "_paramsHash", + "type": "bytes32" + } + ], + "name": "NewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "RedeemDaoBounty", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "RedeemReputation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_staker", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_vote", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Stake", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "enum GenesisProtocolLogic.ProposalState", + "name": "_proposalState", + "type": "uint8" + } + ], + "name": "StateChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "_organization", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_vote", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_reputation", + "type": "uint256" + } + ], + "name": "VoteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "voteDecision", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "VoteSignaled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "votingMachine", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "voteDecision", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "VoteSigned", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": true, + "inputs": [], + "name": "DELEGATION_HASH_EIP712", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "NO", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "NUM_OF_CHOICES", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "YES", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "averagesDownstakesOfBoosted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "boostedVoteRequiredPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "calcExecuteCallBounty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "execute", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "executeBoosted", + "outputs": [ + { + "internalType": "uint256", + "name": "expirationCallBounty", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "executeSignaledVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "votingMachine", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "voteDecision", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "executeSignedVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getAllowedRangeOfChoices", + "outputs": [ + { + "internalType": "uint256", + "name": "min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "avatar", + "type": "address" + }, + { + "internalType": "address", + "name": "scheme", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "paramsHash", + "type": "bytes32" + } + ], + "name": "getBoostedVoteRequiredPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNumberOfChoices", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256[11]", + "name": "_params", + "type": "uint256[11]" + }, + { + "internalType": "address", + "name": "_voteOnBehalf", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getProposalOrganization", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getProposalTimes", + "outputs": [ + { + "internalType": "uint256[3]", + "name": "times", + "type": "uint256[3]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_staker", + "type": "address" + } + ], + "name": "getStaker", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "votingMachine", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "voteDecision", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "hashVote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isAbstainAllow", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isVotable", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "orgBoostedProposalsCnt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "organizationRefunds", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxGasPrice", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "organizations", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "internalType": "uint256", + "name": "queuedVoteRequiredPercentage", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "queuedVotePeriodLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "boostedVotePeriodLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preBoostedVotePeriodLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "thresholdConst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "limitExponentValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quietEndingPeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "proposingRepReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votersReputationLossRatio", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minimumDaoBounty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "daoBountyConst", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "activationTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voteOnBehalf", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "proposalStatus", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "proposalStatusWithVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "bytes32", + "name": "organizationId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "callbacks", + "type": "address" + }, + { + "internalType": "enum GenesisProtocolLogic.ProposalState", + "name": "state", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "winningVote", + "type": "uint256" + }, + { + "internalType": "address", + "name": "proposer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "currentBoostedVotePeriodLimit", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "paramsHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "daoBountyRemain", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "daoBounty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalStakes", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "confidenceThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "secondsFromTimeOutTillExecuteBoosted", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "daoRedeemItsWinnings", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "proposalsCnt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_paramsHash", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_proposer", + "type": "address" + }, + { + "internalType": "address", + "name": "_organization", + "type": "address" + } + ], + "name": "propose", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_choicesAmount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_paramsHash", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_proposer", + "type": "address" + }, + { + "internalType": "address", + "name": "_organization", + "type": "address" + } + ], + "name": "proposeMultipleChoice", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256[3]", + "name": "rewards", + "type": "uint256[3]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + } + ], + "name": "redeemDaoBounty", + "outputs": [ + { + "internalType": "uint256", + "name": "redeemedAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "potentialAmount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "score", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_scheme", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_paramsHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_boostedVotePeriodLimit", + "type": "uint256" + } + ], + "name": "setBoostedVoteRequiredPercentage", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + } + ], + "name": "setOrganizationRefund", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256[11]", + "name": "_params", + "type": "uint256[11]" + }, + { + "internalType": "address", + "name": "_voteOnBehalf", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "votingMachine", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "voteDecision", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "shareSignedVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "shouldBoost", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "voteDecision", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "signalVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_vote", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_vote", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_signatureType", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "stakeWithSignature", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "stakesNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "stakingToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum GenesisProtocolLogic.ProposalState", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_paramsHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_organizationId", + "type": "bytes32" + } + ], + "name": "threshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_vote", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_voter", + "type": "address" + } + ], + "name": "vote", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_voter", + "type": "address" + } + ], + "name": "voteInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_vote", + "type": "uint256" + } + ], + "name": "voteStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_choice", + "type": "uint256" + } + ], + "name": "voteStatus", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "votesSignaled", + "outputs": [ + { + "internalType": "uint256", + "name": "voteDecision", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "winningVote", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "withdrawRefundBalance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b50604051620057f6380380620057f6833981810160405260208110156200003757600080fd5b505180806200006673543ff227f64aa17ea132bf9886cab5db55dcaddf62000138602090811b6200549617901c565b156200009857600680546001600160a01b03191673543ff227f64aa17ea132bf9886cab5db55dcaddf179055620000b4565b600680546001600160a01b0319166001600160a01b0383161790555b50506001600160a01b03811662000112576040805162461bcd60e51b815260206004820152601360248201527f77726f6e67205f7374616b696e67546f6b656e00000000000000000000000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b039290921691909117905562000175565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906200016d5750808214155b949350505050565b61567180620001856000396000f3fe6080604052600436106103355760003560e01c806377213844116101ab578063b2449d65116100f7578063c8f526e811610095578063e5af18c51161006f578063e5af18c514610fcd578063e751f27114610ff7578063fb6c0cbb14611021578063fe0d26181461104b57610335565b8063c8f526e814610ed5578063cc3bf9e914610f37578063e09a2c3014610f7057610335565b8063bb5a05ed116100d1578063bb5a05ed14610e27578063beda801514610e51578063c083510614610e7b578063c0ceec1e14610ea557610335565b8063b2449d6514610db8578063b451291314610dcd578063ba51b14e14610dfd57610335565b80639525c0cc11610164578063a003651d1161013e578063a003651d14610cf5578063a05ea6e414610d1f578063a30ccbe614610d52578063ae9f5cea14610d8857610335565b80639525c0cc14610c845780639afeffc114610cae5780639bc5689d146104e057610335565b80637721384414610afa57806379a1c1f614610b4757806380f5e0a114610b9757806381bd671d14610bc157806388737b5e14610c045780638894c41b14610c4b57610335565b8063359afa49116102855780635142bc1e116102235780636359036b116101fd5780636359036b14610a215780636e5b43ec14610a5a5780637074376814610a9957806372f702f314610ac957610335565b80635142bc1e146109a957806351d997b2146109be57806361d585da146109d357610335565b80633d6254c81161025f5780633d6254c8146108595780633fead6501461089257806340474873146108e3578063488c65fc1461090d57610335565b8063359afa49146107425780633a8b3bd2146107875780633c1338181461082f57610335565b80631702ef0c116102f25780632d598e58116102cc5780632d598e58146105f85780632daedd521461062857806330ca0a531461067257806332ed5b121461068757610335565b80631702ef0c1461058057806321b4b3dc146105aa5780632514e2bf146105bf57610335565b806302506804146103b557806307b4e1e31461044d578063089af68e146104c95780630d483442146104e0578063119ce91b146104f557806316db517214610547575b336000908152600960205260409020600101546103835760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b336000908152600960205260409020546103a3903463ffffffff6110f316565b33600090815260096020526040902055005b3480156103c157600080fd5b506103df600480360360208110156103d857600080fd5b5035611156565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e08801526101008701526101208601526101408501526101608401526001600160a01b031661018083015251908190036101a00190f35b34801561045957600080fd5b506104b7600480360361018081101561047157600080fd5b81019080806101600190600b806020026040519081016040528092919082600b602002808284376000920191909152509194505050356001600160a01b031690506111c6565b60408051918252519081900360200190f35b3480156104d557600080fd5b506104de6112d6565b005b3480156104ec57600080fd5b506104b76113b4565b34801561050157600080fd5b5061052e6004803603604081101561051857600080fd5b50803590602001356001600160a01b03166113b9565b6040805192835260208301919091528051918290030190f35b34801561055357600080fd5b5061052e6004803603604081101561056a57600080fd5b50803590602001356001600160a01b031661141c565b34801561058c57600080fd5b506104b7600480360360208110156105a357600080fd5b503561144d565b3480156105b657600080fd5b506104b761145f565b3480156105cb57600080fd5b5061052e600480360360408110156105e257600080fd5b50803590602001356001600160a01b0316611465565b34801561060457600080fd5b506104b76004803603604081101561061b57600080fd5b5080359060200135611489565b34801561063457600080fd5b5061065e6004803603606081101561064b57600080fd5b50803590602081013590604001356114d6565b604080519115158252519081900360200190f35b34801561067e57600080fd5b506104b76114ec565b34801561069357600080fd5b506106b1600480360360208110156106aa57600080fd5b5035611598565b604080518e81526001600160a01b038e1660208201529081018c60068111156106d657fe5b60ff168152602081019b909b52506001600160a01b039098166040808b019190915260608a0197909752608089019590955260a088019390935260c087019190915260e08601526101008501526101208401529015156101408301525190819003610160019350915050f35b34801561074e57600080fd5b5061065e6004803603608081101561076557600080fd5b50803590602081013590604081013590606001356001600160a01b0316611606565b34801561079357600080fd5b506104de600480360360c08110156107aa57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184600183028401116401000000008311171561082457600080fd5b50909250905061176e565b34801561083b57600080fd5b506104b76004803603602081101561085257600080fd5b503561193e565b34801561086557600080fd5b506104de6004803603604081101561087c57600080fd5b50803590602001356001600160a01b0316611953565b34801561089e57600080fd5b506108c5600480360360208110156108b557600080fd5b50356001600160a01b0316611a84565b60408051938452602084019290925282820152519081900360600190f35b3480156108ef57600080fd5b506104b76004803603602081101561090657600080fd5b5035611aa5565b34801561091957600080fd5b5061065e600480360360c081101561093057600080fd5b8135916020810135916040820135916060810135916080820135919081019060c0810160a082013564010000000081111561096a57600080fd5b82018360208201111561097c57600080fd5b8035906020019184600183028401116401000000008311171561099e57600080fd5b509092509050611b15565b3480156109b557600080fd5b5061052e611db1565b3480156109ca57600080fd5b5061065e611db9565b3480156109df57600080fd5b506109fd600480360360208110156109f657600080fd5b5035611dbf565b60405180826006811115610a0d57fe5b60ff16815260200191505060405180910390f35b348015610a2d57600080fd5b5061052e60048036036040811015610a4457600080fd5b50803590602001356001600160a01b0316611ddf565b348015610a6657600080fd5b506104de60048036036060811015610a7d57600080fd5b506001600160a01b03813516906020810135906040013561205a565b348015610aa557600080fd5b506104b760048036036040811015610abc57600080fd5b50803590602001356120af565b348015610ad557600080fd5b50610ade6120d0565b604080516001600160a01b039092168252519081900360200190f35b348015610b0657600080fd5b506104b7600480360360a0811015610b1d57600080fd5b506001600160a01b03813581169160208101359160408201351690606081013590608001356120df565b348015610b5357600080fd5b50610b7160048036036020811015610b6a57600080fd5b503561213a565b604080519485526020850193909352838301919091526060830152519081900360800190f35b348015610ba357600080fd5b5061065e60048036036020811015610bba57600080fd5b503561217d565b348015610bcd57600080fd5b506104b760048036036060811015610be457600080fd5b506001600160a01b038135811691602081013590911690604001356122ba565b348015610c1057600080fd5b506104b760048036036080811015610c2757600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612314565b348015610c5757600080fd5b506104b76004803603610180811015610c6f57600080fd5b506001600160a01b0361016082013516612323565b348015610c9057600080fd5b506104de60048036036020811015610ca757600080fd5b5035612710565b348015610cba57600080fd5b506104b760048036036080811015610cd157600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612723565b348015610d0157600080fd5b506104b760048036036020811015610d1857600080fd5b5035612731565b348015610d2b57600080fd5b506104b760048036036020811015610d4257600080fd5b50356001600160a01b0316612743565b348015610d5e57600080fd5b506104de60048036036060811015610d7557600080fd5b5080359060208101359060400135612755565b348015610d9457600080fd5b506104b760048036036040811015610dab57600080fd5b50803590602001356128d5565b348015610dc457600080fd5b506104b76128f2565b348015610dd957600080fd5b506104b760048036036040811015610df057600080fd5b50803590602001356128f7565b348015610e0957600080fd5b50610ade60048036036020811015610e2057600080fd5b5035612918565b348015610e3357600080fd5b506104b760048036036020811015610e4a57600080fd5b5035612933565b348015610e5d57600080fd5b506104b760048036036020811015610e7457600080fd5b5035612945565b348015610e8757600080fd5b5061065e60048036036020811015610e9e57600080fd5b5035612b8e565b348015610eb157600080fd5b506104de60048036036040811015610ec857600080fd5b5080359060200135612b99565b348015610ee157600080fd5b50610eff60048036036020811015610ef857600080fd5b5035612bb8565b6040518082606080838360005b83811015610f24578181015183820152602001610f0c565b5050505090500191505060405180910390f35b348015610f4357600080fd5b50610eff60048036036040811015610f5a57600080fd5b50803590602001356001600160a01b0316612c07565b348015610f7c57600080fd5b50610f9a60048036036020811015610f9357600080fd5b5035613378565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b348015610fd957600080fd5b506104b760048036036020811015610ff057600080fd5b50356133d3565b34801561100357600080fd5b5061065e6004803603602081101561101a57600080fd5b50356133de565b34801561102d57600080fd5b506104b76004803603602081101561104457600080fd5b5035613403565b34801561105757600080fd5b506104de600480360360c081101561106e57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156110b457600080fd5b8201836020820111156110c657600080fd5b803590602001918460018302840111640100000000831117156110e857600080fd5b509092509050613415565b60008282018381101561114d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600060208190529081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c909c01549a9b999a989997989697959694959394929391929091906001600160a01b03168d565b60008281602002015183600160200201518460026020020151856003602002015186600460200201518760056020020151886006602002015189600760200201518a600860200201518b600960200201518c600a6020020151604051602001808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001208260405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120905092915050565b336000908152600960205260409020600101546113245760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b3360009081526009602052604090205461136f5760405162461bcd60e51b81526004018080602001828103825260358152602001806155956035913960400191505060405180910390fd5b33600081815260096020526040808220805490839055905190929183156108fc02918491818181858888f193505050501580156113b0573d6000803e3d6000fd5b5050565b600281565b6000806113c461530b565b50505060009182526001602081815260408085206001600160a01b039490941685526011909301815292829020825160608101845281548082529282015494810185905260029091015460ff16151592019190915291565b60009182526001602081815260408085206001600160a01b0394909416855260139093019052912080549101549091565b60009081526001602052604090205490565b60055481565b600a6020908152600092835260408084209091529082529020805460019091015482565b60008181526002602090815260408083205485845291839052822060058101548211156114b857806005015491505b60048101546114cd908363ffffffff61358c16565b95945050505050565b60006114e4848484336135d6565b949350505050565b604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e909201909252805191012081565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a0154600e909a01546001600160a01b03808b169b60ff600160a01b909c048c169b99909116989091168d565b600084611612816139ee565b61161b57600080fd5b600086815260016020526040902061163161532e565b5060058082015460009081526020818152604080832081516101a0810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015460808301529283015460a0820152600683015460c0820152600783015460e082015260088301546101008201526009830154610120820152600a830154610140820152600b830154610160820152600c909201546001600160a01b0316610180830181905215611741578161018001516001600160a01b0316336001600160a01b03161461173a5760405162461bcd60e51b81526004018080602001828103825260258152602001806154ce6025913960400191505060405180910390fd5b5084611744565b50335b60006117528a838b8b613a61565b905061176184600001546140d5565b9998505050505050505050565b858461177982612731565b81111580156117885750600081115b6117d0576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b60006117df8a8a8a8a8a6120df565b905061183285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061182692508591506141f69050565b9063ffffffff61424716565b6001600160a01b0316886001600160a01b031614611886576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b7f46e3ceeda21faa4b362b93454c3125977acdd239013fd4f0ec651e88657e6cfb8a8a8a8a8a8a8a60405180886001600160a01b03166001600160a01b03168152602001878152602001866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039a509098505050505050505050a150505050505050505050565b60009081526001602052604090206002015490565b61195c826139ee565b6119a4576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b0385168452909152902054611a0c576040805162461bcd60e51b81526020600482015260116024820152701ddc9bdb99c81d9bdd19481cda185c9959607a1b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b038516845290915290208054600190910154611a44918491849190613a61565b506000828152600a602090815260408083206001600160a01b0385168452825280832083815560019081018490558584529091529020546113b0906140d5565b60096020526000908152604090208054600182015460029092015490919083565b6000818152600160205260408120600a01546105dc908290611ace90839063ffffffff61433516565b6000858152600160208181526040808420928452601290920190529020549091506114e490600a840290611b0990849063ffffffff61434b16565b9063ffffffff6143a416565b6000808460021415611c385750604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e830184528051908201203060601b609e84015260b283018c905260d283018b905260f283018a90526101128084018a9052845180850390910181526101328401855280519083012061015284019190915261017280840191909152835180840390910181526101929092019092528051910120611c89565b604080513060601b602080830191909152603482018c9052605482018b9052607482018a905260948083018a90528351808403909101815260b49092019092528051910120611c86906141f6565b90505b6000611cd385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff614247169050565b90506001600160a01b038116611d30576040805162461bcd60e51b815260206004820152601a60248201527f7374616b657220616464726573732063616e6e6f742062652030000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600760205260409020548714611d5457600080fd5b6001600160a01b038116600090815260076020526040902054611d7e90600163ffffffff6110f316565b6001600160a01b038216600090815260076020526040902055611da38a8a8a846135d6565b9a9950505050505050505050565b600160029091565b60005b90565b60009081526001602081905260409091200154600160a01b900460ff1690565b6000828152600160205260408120819060026001820154600160a01b900460ff166006811115611e0b57fe5b14611e1557600080fd5b60028082015460009081526012830160209081526040808320546001600160a01b0389168452601386019092529091209182015490919015801590611e5e575060028301548154145b8015611e6e575060018360020154145b8015611e7957508115155b15611e955781836007015482600201540281611e9157fe5b0493505b8315801590611f2a5750600183015460065460408051636b8eb40360e01b81526001600160a01b039283166004820152602481018b9052905187939290921691636b8eb40391604480820192602092909190829003018186803b158015611efb57600080fd5b505afa158015611f0f573d6000803e3d6000fd5b505050506040513d6020811015611f2557600080fd5b505110155b1561205057600060028201556006830154611f4b908563ffffffff6143e616565b60068085019190915560018401549054604080516317d4ebe560e31b81526001600160a01b039283166004820152898316602482015260448101889052606481018b90529051919092169163bea75f289160848083019260209291908290030181600087803b158015611fbd57600080fd5b505af1158015611fd1573d6000803e3d6000fd5b505050506040513d6020811015611fe757600080fd5b5051611ff257600080fd5b8254600090815260036020908152604091829020548251878152925196975087966001600160a01b03808b16949216928b927fb4a37163ec93e05e09b62e52f7f2ea8cfde431802edede7dfebe53d2ad969dbb929081900390910190a45b5050509250929050565b604080516001600160601b0319606095861b166020808301919091523390951b603482015281516028818303018152604890910182528051908501206000908152600885528181209381529290935291902055565b60009182526001602090815260408084209284526012909201905290205490565b6006546001600160a01b031681565b604080516001600160601b0319606097881b811660208084019190915260348301979097529490961b909316605486015260688501919091526088808501919091528151808503909101815260a89093019052815191012090565b6000908152600160208181526040808420838552601081018352818520546002808752838720549587526012909201909352818520549085529320549093919291565b600061218761539f565b60008381526001602081815260409283902083516101c08101855281548152928101546001600160a01b038116928401929092529192830190600160a01b900460ff1660068111156121d557fe5b60068111156121e057fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311612269575050509183525050600e919091015460ff16151560209091015260c081015181519192506122a991611489565b6122b284614428565b119392505050565b604080516001600160601b0319606094851b81166020808401919091529590941b90931660348401528051602881850301815260489093018152825192840192909220600090815260088452828120918152925290205490565b60006114cd6002858585614469565b6000606483351180159061233957506032833510155b6123745760405162461bcd60e51b815260040180806020018281038252602981526020018061554b6029913960400191505060405180910390fd5b613e8060808401351180159061238f57506103e86080840135115b6123e0576040805162461bcd60e51b815260206004820152601e60248201527f31303030203c207468726573686f6c64436f6e7374203c3d2031363030300000604482015290519081900360640190fd5b606460e0840135111561243a576040805162461bcd60e51b815260206004820181905260248201527f766f7465727352657075746174696f6e4c6f7373526174696f203c3d20313030604482015290519081900360640190fd5b60a0830135604084013510156124815760405162461bcd60e51b815260040180806020018281038252602b815260200180615520602b913960400191505060405180910390fd5b6101008301356124d8576040805162461bcd60e51b815260206004820152601e60248201527f6d696e696d756d44616f426f756e74792073686f756c64206265203e20300000604482015290519081900360640190fd5b61012083013561252f576040805162461bcd60e51b815260206004820152601c60248201527f64616f426f756e7479436f6e73742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600061256584600b806020026040519081016040528092919082600b602002808284376000920191909152508691506111c69050565b905060ac60026107d05b613e808110156125b757608087013581108015612593575060028102608088013511155b156125a9578183816125a157fe5b0492506125b7565b60019091019060020261256f565b50604080516101a0810182528735815260208089013590820152878201359181019190915260608088013590820152608080820190612604908901356001600160d81b03166103e8614836565b81526020810184905260a088810135604083015260c0808a0135606084015260e0808b013560808501526101008b0135928401929092526101208a0135908301520187600a6020908102919091013582526001600160a01b03978816918101919091526000858152808252604090819020835181559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910180546001600160a01b0319169190961617909455509392505050565b8061271a816139ee565b6113b057600080fd5b60006114cd85858585614469565b6000908152600b602052604090205490565b60076020526000908152604090205481565b828261276082612731565b811115801561276f5750600081115b6127b7576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6127c0856139ee565b612808576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000858152600a6020908152604080832033845290915290205415612864576040805162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b604482015290519081900360640190fd5b6000858152600a6020908152604080832033808552908352928190208781556001018690558051888152918201929092528082018690526060810185905290517f0aad680ea090e3d71ef3942023475bbf0e4092d03db1a09f00e9a8f2e046e2829181900360800190a15050505050565b600860209081526000928352604080842090915290825290205481565b600181565b6000918252600160209081526040808420928452600f909201905290205490565b6003602052600090815260409020546001600160a01b031681565b60046020526000908152604090205481565b600081815260016020526040812060056001820154600160a01b900460ff16600681111561296f57fe5b1480612994575060066001820154600160a01b900460ff16600681111561299257fe5b145b6129cf5760405162461bcd60e51b815260040180806020018281038252603381526020018061560a6033913960400191505060405180910390fd5b6129d883614859565b612a29576040805162461bcd60e51b815260206004820152601760248201527f70726f706f73616c206e65656420746f20657870697265000000000000000000604482015290519081900360640190fd5b612a55612a48600b83016001015460048401549063ffffffff6110f316565b429063ffffffff6143e616565b600a820155612a6383611aa5565b6008820154909250612a7b908363ffffffff6143e616565b60088201556006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015612ad457600080fd5b505af1158015612ae8573d6000803e3d6000fd5b505050506040513d6020811015612afe57600080fd5b5051612b51576040805162461bcd60e51b815260206004820152601d60248201527f7472616e7366657220746f206d73672e73656e646572206661696c6564000000604482015290519081900360640190fd5b604080518381529051339185917f7468017f6ff596af88244327e88fe691ac48cc1db88b033d11c335f2c7ccdd039181900360200190a350919050565b6000611150826139ee565b3360009081526009602052604090206001810192909255600290910155565b612bc0615420565b60008281526001602052604090819020815160608101909252600b0160038282826020028201915b815481526020019060010190808311612be85750505050509050919050565b612c0f615420565b600083815260016020526040902060026001820154600160a01b900460ff166006811115612c3957fe5b1480612c5d5750600180820154600160a01b900460ff166006811115612c5b57fe5b145b612c985760405162461bcd60e51b815260040180806020018281038252602d8152602001806154f3602d913960400191505060405180910390fd5b612ca061532e565b5060058082015460009081526020818152604080832081516101a081018352815481526001820154818501526002808301548285015260038301546060830152600483015460808301529582015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528816845260138601835281842094860154845260128601909252822054909291612dac612d7689611aa5565b600160009081526012880160205260408082205460028352912054612da09163ffffffff6110f316565b9063ffffffff6143e616565b600184015490915015612e7757600180860154600160a01b900460ff166006811115612dd457fe5b1415612de65760018301548652612e6f565b600285015483541415612e6f57825460011415612e4d578085600701541015612e48576000612e228660070154836143e690919063ffffffff16565b905082612e3c82866001015461434b90919063ffffffff16565b81612e4357fe5b048752505b612e6f565b60018301548290612e64908363ffffffff61434b16565b81612e6b57fe5b0486525b600060018401555b600e85015460ff16158015612ea7575084546000908152600360205260409020546001600160a01b038881169116145b8015612ecc5750600180860154600160a01b900460ff166006811115612ec957fe5b14155b8015612edc575060028560020154145b15612f2d576007850154612f1b90612da084612efe838663ffffffff61434b16565b81612f0557fe5b048960005b60200201519063ffffffff6110f316565b8652600e8501805460ff191660011790555b6001600160a01b03871660009081526011860160205260409020600181015415801590612f5e5750600281015460ff165b1561309d57600180870154600160a01b900460ff166006811115612f7e57fe5b1415612fb4576064612fa2866101000151836001015461434b90919063ffffffff16565b81612fa957fe5b046020880152613095565b805460028701541415613095576000600187600201541415612fe9575060026000908152601087016020526040902054612ffe565b50600160009081526010870160205260409020545b60646130188761010001518361434b90919063ffffffff16565b8161301f57fe5b6002890154600090815260108a016020526040902054600185015492909104925061308e91613054908463ffffffff61434b16565b8161305b57fe5b04606461307a896101000151866001015461434b90919063ffffffff16565b8161308157fe5b049063ffffffff6110f316565b6020890152505b600060018201555b60038601546001600160a01b0389811691161480156130c0575060018660020154145b80156130d8575060038601546001600160a01b031615155b156130fa5760e085015160408801526003860180546001600160a01b03191690555b8651156132475786516008870154613111916143e6565b600887015560065487516040805163a9059cbb60e01b81526001600160a01b038c8116600483015260248201939093529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561316f57600080fd5b505af1158015613183573d6000803e3d6000fd5b505050506040513d602081101561319957600080fd5b50516131ec576040805162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b8554600090815260036020908152604091829020548951835190815292516001600160a01b038c8116949216928d927f6d26871c9f457d104b2122485f659f126f7a0cf6938cf20482c03f49794a2fbf929081900390910190a45b604087015161325890886001612f0a565b1561336c5760018601546001600160a01b031663d29b5d2f61328389600260200201518a6001612f0a565b8a8c6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156132db57600080fd5b505af11580156132ef573d6000803e3d6000fd5b505050506040513d602081101561330557600080fd5b505085546000908152600360205260409020546001600160a01b03808a1691168a7f7419b736daacf66d5c1645948c956fca2b83be1e2e02d486d65713f289d683b861335a8b600260200201518c6001612f0a565b60408051918252519081900360200190a45b50505050505092915050565b6000908152600160208181526040808420838552600f81018352818520546002808752838720548688526010840186528488205482895285892054978952601290940190955283872054908752929095205494959294909392565b600061115082614428565b6000816133ea816139ee565b6133f357600080fd5b6133fc83614859565b9392505050565b60026020526000908152604090205481565b6001600160a01b0387163014613468576040805162461bcd60e51b815260206004820152601360248201527277726f6e6720766f74696e674d616368696e6560681b604482015290519081900360640190fd5b613471866139ee565b6134b9576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b61350a82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611826925061350591508b90508a8a8a8a6120df565b6141f6565b6001600160a01b0316856001600160a01b03161461355e576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b61356a86868686613a61565b50600086815260016020526040902054613583906140d5565b50505050505050565b60008282650100000000005b81156114cd5781600116600114156135b7576135b48184615180565b90505b60019190911c9081156135d1576135ce8384615180565b92505b613598565b600084846135e382612731565b81111580156135f25750600081115b61363a576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6000851161368f576040805162461bcd60e51b815260206004820152601b60248201527f7374616b696e6720616d6f756e742073686f756c64206265203e300000000000604482015290519081900360640190fd5b61369887614859565b156136a657600192506139e4565b600087815260016020526040902060046001820154600160a01b900460ff1660068111156136d057fe5b141580156136f8575060036001820154600160a01b900460ff1660068111156136f557fe5b14155b156137075760009350506139e4565b6001600160a01b03851660009081526013820160205260409020600181015415801590613735575080548814155b15613745576000945050506139e4565b600654604080516323b872dd60e01b81526001600160a01b038981166004830152306024830152604482018b905291518a9392909216916323b872dd916064808201926020929091908290030181600087803b1580156137a457600080fd5b505af11580156137b8573d6000803e3d6000fd5b505050506040513d60208110156137ce57600080fd5b5051613821576040805162461bcd60e51b815260206004820152601960248201527f6661696c207472616e736665722066726f6d207374616b657200000000000000604482015290519081900360640190fd5b6008830154613836908263ffffffff6110f316565b60088401556001820154613850908263ffffffff6110f316565b60018301819055600160801b10156138af576040805162461bcd60e51b815260206004820152601a60248201527f7374616b696e6720616d6f756e7420697320746f6f2068696768000000000000604482015290519081900360640190fd5b60068301546138c990600160801b9063ffffffff6143e616565b83600801541115613921576040805162461bcd60e51b815260206004820152601860248201527f746f74616c207374616b657320697320746f6f20686967680000000000000000604482015290519081900360640190fd5b600189141561394557600282015461393f908263ffffffff6110f316565b60028301555b888255600089815260128401602052604090205461396a90829063ffffffff6110f316565b60008a81526012850160209081526040808320939093558554825260038152908290205482518c81529182018b905282516001600160a01b03808c16949216928e927fd0239d7d4acf51def4507fa173be466927de5d75d8b10d840cd6994d6e10231092918290030190a46139de8a614859565b95505050505b5050949350505050565b600081815260016020819052604082200154600160a01b900460ff166004816006811115613a1857fe5b1480613a2f57506005816006811115613a2d57fe5b145b80613a4557506006816006811115613a4357fe5b145b806133fc57506003816006811115613a5957fe5b149392505050565b60008483613a6e82612731565b8111158015613a7d5750600081115b613ac5576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b613ace87614859565b15613adc57600192506139e4565b613ae461532e565b506000878152600160208181526040808420600580820154865285845282862083516101a0810185528154815281870154818701526002820154818601526003820154606082015260048083015460808301529282015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528e8852868652958301548451634ac41bc760e11b81528e881693810193909352602483018f905293519096929592949390921692639588378e92604480840193829003018186803b158015613beb57600080fd5b505afa158015613bff573d6000803e3d6000fd5b505050506040513d6020811015613c1557600080fd5b5051905080613c6b576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b86811015613cb5576040805162461bcd60e51b8152602060048201526012602482015271072657075746174696f6e203e3d205f7265760741b604482015290519081900360640190fd5b8680613cbe5750805b6001600160a01b038a16600090815260118401602052604090206001015415613cee5760009650505050506139e4565b6000898152600f84016020526040902054613d1090829063ffffffff6110f316565b60008a8152600f8501602052604080822083905560028601548252812054908b90521080613d6857506002808401546000908152600f8501602052604080822054928252902054148015613d68575060018360020154145b15613e775760056001840154600160a01b900460ff166006811115613d8957fe5b148015613da9575060c0840151604085015103600b840160010154420310155b80613dcd575060066001840154600160a01b900460ff166006811115613dcb57fe5b145b15613e6f5760066001840154600160a01b900460ff166006811115613dee57fe5b14613e685760c0840151600484015560018301805460ff60a01b1916600360a11b17908190556040518c917f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f991600160a01b90910460ff169080826006811115613e5457fe5b60ff16815260200191505060405180910390a25b42600c8401555b600283018990555b604080516060810182528a81526020810183905290810160046001860154600160a01b900460ff166006811115613eaa57fe5b1480613ecf575060036001860154600160a01b900460ff166006811115613ecd57fe5b145b151590526001600160a01b038b166000908152601185016020908152604091829020835181559083015160018201559101516002909101805460ff191691151591909117905560046001840154600160a01b900460ff166006811115613f3157fe5b1480613f56575060036001840154600160a01b900460ff166006811115613f5457fe5b145b15614061576000898152601084016020526040902054613f7d90829063ffffffff6110f316565b60008a8152601085016020526040812091909155610100850151606490613faa908463ffffffff61434b16565b81613fb157fe5b0490508360010160009054906101000a90046001600160a01b03166001600160a01b031663f81f8bf6828d8f6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561403357600080fd5b505af1158015614047573d6000803e3d6000fd5b505050506040513d602081101561405d57600080fd5b5050505b82546000908152600360209081526040918290205482518c815291820184905282516001600160a01b03808f16949216928f927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92918290030190a46140c68b614859565b9b9a5050505050505050505050565b6000818152600360209081526040808320546001600160a01b0316808452600990925290912060010154156113b0576001600160a01b03811660009081526009602052604081206002015461415d90614135903a9063ffffffff61433516565b6001600160a01b0384166000908152600960205260409020600101549063ffffffff61434b16565b6001600160a01b03831660009081526009602052604090205490915081116141f1576001600160a01b0382166000908152600960205260409020546141a8908263ffffffff6143e616565b6001600160a01b038316600090815260096020526040808220929092559051339183156108fc02918491818181858888f193505050501580156141ef573d6000803e3d6000fd5b505b505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461425a57506000611150565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156142a05760009350505050611150565b8060ff16601b141580156142b857508060ff16601c14155b156142c95760009350505050611150565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015614320573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000818310614344578161114d565b5090919050565b60008261435a57506000611150565b8282028284828161436757fe5b041461114d5760405162461bcd60e51b81526004018080602001828103825260218152602001806155746021913960400191505060405180910390fd5b600061114d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506151e4565b600061114d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615286565b600081815260016020818152604080842060028552601281019092528084205492845283205490916133fc916001600160d81b03169063ffffffff61483616565b6000600285101561447957600080fd5b6000848152602081905260409020600b015442116144cf576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd081858dd1a5d99481e595d60921b604482015290519081900360640190fd5b600084815260208190526040902054603211156144eb57600080fd5b600554604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061453090600163ffffffff6110f316565b60055561453b61539f565b33602082810182905260408051606093841b818401526001600160601b031988851b16603482015281516028818303018152604890910182528051908301208452600381850181905261018085015142905260008a815280845282812060029081015460a08801526001600160a01b038b811660808901529587015260c086018b905285518152925290205416614629576001600160a01b0384166145ff578051600090815260036020526040902080546001600160a01b03191633179055614629565b8051600090815260036020526040902080546001600160a01b0319166001600160a01b0386161790555b8051600090815260046020908152604080832054898452918390528220600a015461466091606491611b099163ffffffff61434b16565b60008881526020819052604090206009015490915061468690829063ffffffff6152e016565b60e0830152600083815260016020818152604092839020855181559085015191810180546001600160a01b0319166001600160a01b03909316929092178083559285015185939192909160ff60a01b1916600160a01b8360068111156146e857fe5b0217905550606082015160028201556080820151600380830180546001600160a01b0319166001600160a01b039093169290921790915560a0830151600483015560c0830151600583015560e08301516006830155610100830151600783015561012083015160088301556101408301516009830155610160830151600a83015561018083015161477e91600b8401919061543e565b506101a09190910151600e909101805460ff191691151591909117905560e0820151600084815260016020908152604080832060028452601201825280832093909355858252600b81528282208b90558451825260038152908290205482518b81526001600160a01b038a8116938201939093528084018b9052925191169185917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c916060908290030190a350909695505050505050565b600061114d6001600160d81b0380851665010000000000908102918516026152f0565b600081614865816139ee565b61486e57600080fd5b600083815260016020526040902061488461532e565b506005808201546000908152602081815260409182902082516101a0810184528154815260018201549281019290925260028101549282019290925260038201546060820152600482015460808201529181015460a0830152600681015460c0830152600781015460e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c01546001600160a01b031661018082015261493861539f565b604080516101c0810182528454815260018501546001600160a01b03811660208301529091859190830190600160a01b900460ff16600681111561497857fe5b600681111561498357fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311614a0c575050509183525050600e919091015460ff16151560209182015260018501546040805163b551c37360e01b8152600481018b905290519394506000936001600160a01b039092169263b551c37392602480840193829003018186803b158015614a8757600080fd5b505afa158015614a9b573d6000803e3d6000fd5b505050506040513d6020811015614ab157600080fd5b505183518554600090815260086020908152604080832060058a0154845282528083205460028a01548452600f8a01909252822054939450606485049092029261271085048302919081908190861015614b8257600360018b0154600160a01b900460ff166006811115614b2157fe5b1415614b305760019250614b60565b600460018b0154600160a01b900460ff166006811115614b4c57fe5b1415614b5b5760039250614b60565b600592505b60018a0180546002919060ff60a01b1916600160a01b835b0217905550614dd3565b600360018b0154600160a01b900460ff166006811115614b9e57fe5b1415614c20576020890151600b8b0154420310614bd95760018a01805460ff60a01b1916600160a01b1790556002808b018190559250614c20565b614beb8a600501548b60000154611489565b905080614bf78e614428565b1115614c205760018a01805460ff60a01b1916600160a21b17905542600d8b015560098a018190555b600460018b0154600160a01b900460ff166006811115614c3c57fe5b1415614dd357614c548a600501548b60000154611489565b60608a0151909150600b8b0160020154420310614d445780614c758e614428565b1115614d235789546000908152600260205260409020546110001115614d1e5760018a8101805460ff60a01b1916600560a01b17905560608a0151600d8c015401600c8c01558a54600090815260026020818152604080842080549095019094558d54835260048152838320548282528484205492845260128f0190915292909120549193509083900381614d0657fe5b8b546000908152600460205260409020919005830190555b614d3f565b60018a0180546003919060ff60a01b1916600160a01b83614b78565b614dd3565b6000614d4f8e614428565b60098c0154909150614d67908363ffffffff61433516565b8111614d875760018b01805460ff60a01b1916600360a01b179055614dd1565b808b600901541115614dd15760098b018290556040805183815290518f917fad767d61af51c7895fa3cc0497dde01afb610c74e55ee4d8a71fa5e3ee136d54919081900360200190a25b505b600560018b0154600160a01b900460ff166006811115614def57fe5b1480614e145750600660018b0154600160a01b900460ff166006811115614e1257fe5b145b15614e845760048a0154600c8b0154420310614e845760028a01546000908152600f8b0160205260409020548411614e645760018a01805460ff60a01b1916600160a11b17905560059250614e84565b60018a01805460ff60a01b1916600160a01b1790556002808b0155600492505b6000836005811115614e9257fe5b146150d8576004836005811115614ea557fe5b1480614ebc57506005836005811115614eba57fe5b145b15614f77578751600090815260026020526040902054614ee390600163ffffffff6143e616565b88516000908152600260205260408082209290925589518152205480614f19578a54600090815260046020526040812055614f75565b8a546000908152600460209081526040808320546002845260128f01909252909120549093508190614f5890612da0866001850163ffffffff61434b16565b81614f5f57fe5b8c54600090815260046020526040902091900490555b505b600360008b60000154815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b03168d7f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d108c600201548a604051808381526020018281526020019250505060405180910390a38c7f46a713b994c752c68fbefa9048bec9a0010cc7d933ad95a3c3dbb25931a167e7846040518082600581111561502257fe5b60ff16815260200191505060405180910390a289600601548a600701819055508960010160009054906101000a90046001600160a01b03166001600160a01b0316639d4c162d8e8c600201546040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b1580156150ab57600080fd5b505af11580156150bf573d6000803e3d6000fd5b505050506040513d60208110156150d557600080fd5b50505b60018a0154600160a01b900460ff1660068111156150f257fe5b8860400151600681111561510257fe5b1461515f578c7f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f98b60010160149054906101000a900460ff166040518082600681111561514b57fe5b60ff16815260200191505060405180910390a25b600083600581111561516d57fe5b14159d9c50505050505050505050505050565b60008282028284828161518f57fe5b04146151da576040805162461bcd60e51b81526020600482015260156024820152745265616c4d617468206d756c206f766572666c6f7760581b604482015290519081900360640190fd5b60281c9392505050565b600081836152705760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561523557818101518382015260200161521d565b50505050905090810190601f1680156152625780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161527c57fe5b0495945050505050565b600081848411156152d85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561523557818101518382015260200161521d565b505050900390565b600081831015614344578161114d565b6000816501000000000084028161530357fe5b049392505050565b604051806060016040528060008152602001600081526020016000151581525090565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604080516101c081018252600080825260208201819052909182019081526020016000815260200160006001600160a01b0316815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152602001615413615420565b8152600060209091015290565b60405180606001604052806003906020820280388339509192915050565b826003810192821561546c579160200282015b8281111561546c578251825591602001919060010190615451565b5061547892915061547c565b5090565b611dbc91905b808211156154785760008155600101615482565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906114e4575014159291505056fe61646472657373206e6f7420616c6c6f77656420746f20766f7465206f6e20626568616c6650726f706f73616c2073686f756c64206265204578656375746564206f722045787069726564496e5175657565626f6f73746564566f7465506572696f644c696d6974203e3d207175696574456e64696e67506572696f643530203c3d20717565756564566f7465526571756972656450657263656e74616765203c3d20313030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77445844566f74696e674d616368696e653a204f7267616e697a6174696f6e20726566756e642062616c616e6365206973207a65726f445844566f74696e674d616368696e653a2041646472657373206e6f74207265676973746572656420696e206f7267616e697a6174696f6e5265666f756e647370726f706f73616c20737461746520696e206e6f7420426f6f73746564206e6f72205175696574456e64696e67506572696f64a265627a7a7231582006612669ea7268cfed7348a0c384834d2f39d012fee2593da7118ffcb0691b4264736f6c63430005110032", + "deployedBytecode": "0x6080604052600436106103355760003560e01c806377213844116101ab578063b2449d65116100f7578063c8f526e811610095578063e5af18c51161006f578063e5af18c514610fcd578063e751f27114610ff7578063fb6c0cbb14611021578063fe0d26181461104b57610335565b8063c8f526e814610ed5578063cc3bf9e914610f37578063e09a2c3014610f7057610335565b8063bb5a05ed116100d1578063bb5a05ed14610e27578063beda801514610e51578063c083510614610e7b578063c0ceec1e14610ea557610335565b8063b2449d6514610db8578063b451291314610dcd578063ba51b14e14610dfd57610335565b80639525c0cc11610164578063a003651d1161013e578063a003651d14610cf5578063a05ea6e414610d1f578063a30ccbe614610d52578063ae9f5cea14610d8857610335565b80639525c0cc14610c845780639afeffc114610cae5780639bc5689d146104e057610335565b80637721384414610afa57806379a1c1f614610b4757806380f5e0a114610b9757806381bd671d14610bc157806388737b5e14610c045780638894c41b14610c4b57610335565b8063359afa49116102855780635142bc1e116102235780636359036b116101fd5780636359036b14610a215780636e5b43ec14610a5a5780637074376814610a9957806372f702f314610ac957610335565b80635142bc1e146109a957806351d997b2146109be57806361d585da146109d357610335565b80633d6254c81161025f5780633d6254c8146108595780633fead6501461089257806340474873146108e3578063488c65fc1461090d57610335565b8063359afa49146107425780633a8b3bd2146107875780633c1338181461082f57610335565b80631702ef0c116102f25780632d598e58116102cc5780632d598e58146105f85780632daedd521461062857806330ca0a531461067257806332ed5b121461068757610335565b80631702ef0c1461058057806321b4b3dc146105aa5780632514e2bf146105bf57610335565b806302506804146103b557806307b4e1e31461044d578063089af68e146104c95780630d483442146104e0578063119ce91b146104f557806316db517214610547575b336000908152600960205260409020600101546103835760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b336000908152600960205260409020546103a3903463ffffffff6110f316565b33600090815260096020526040902055005b3480156103c157600080fd5b506103df600480360360208110156103d857600080fd5b5035611156565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e08801526101008701526101208601526101408501526101608401526001600160a01b031661018083015251908190036101a00190f35b34801561045957600080fd5b506104b7600480360361018081101561047157600080fd5b81019080806101600190600b806020026040519081016040528092919082600b602002808284376000920191909152509194505050356001600160a01b031690506111c6565b60408051918252519081900360200190f35b3480156104d557600080fd5b506104de6112d6565b005b3480156104ec57600080fd5b506104b76113b4565b34801561050157600080fd5b5061052e6004803603604081101561051857600080fd5b50803590602001356001600160a01b03166113b9565b6040805192835260208301919091528051918290030190f35b34801561055357600080fd5b5061052e6004803603604081101561056a57600080fd5b50803590602001356001600160a01b031661141c565b34801561058c57600080fd5b506104b7600480360360208110156105a357600080fd5b503561144d565b3480156105b657600080fd5b506104b761145f565b3480156105cb57600080fd5b5061052e600480360360408110156105e257600080fd5b50803590602001356001600160a01b0316611465565b34801561060457600080fd5b506104b76004803603604081101561061b57600080fd5b5080359060200135611489565b34801561063457600080fd5b5061065e6004803603606081101561064b57600080fd5b50803590602081013590604001356114d6565b604080519115158252519081900360200190f35b34801561067e57600080fd5b506104b76114ec565b34801561069357600080fd5b506106b1600480360360208110156106aa57600080fd5b5035611598565b604080518e81526001600160a01b038e1660208201529081018c60068111156106d657fe5b60ff168152602081019b909b52506001600160a01b039098166040808b019190915260608a0197909752608089019590955260a088019390935260c087019190915260e08601526101008501526101208401529015156101408301525190819003610160019350915050f35b34801561074e57600080fd5b5061065e6004803603608081101561076557600080fd5b50803590602081013590604081013590606001356001600160a01b0316611606565b34801561079357600080fd5b506104de600480360360c08110156107aa57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184600183028401116401000000008311171561082457600080fd5b50909250905061176e565b34801561083b57600080fd5b506104b76004803603602081101561085257600080fd5b503561193e565b34801561086557600080fd5b506104de6004803603604081101561087c57600080fd5b50803590602001356001600160a01b0316611953565b34801561089e57600080fd5b506108c5600480360360208110156108b557600080fd5b50356001600160a01b0316611a84565b60408051938452602084019290925282820152519081900360600190f35b3480156108ef57600080fd5b506104b76004803603602081101561090657600080fd5b5035611aa5565b34801561091957600080fd5b5061065e600480360360c081101561093057600080fd5b8135916020810135916040820135916060810135916080820135919081019060c0810160a082013564010000000081111561096a57600080fd5b82018360208201111561097c57600080fd5b8035906020019184600183028401116401000000008311171561099e57600080fd5b509092509050611b15565b3480156109b557600080fd5b5061052e611db1565b3480156109ca57600080fd5b5061065e611db9565b3480156109df57600080fd5b506109fd600480360360208110156109f657600080fd5b5035611dbf565b60405180826006811115610a0d57fe5b60ff16815260200191505060405180910390f35b348015610a2d57600080fd5b5061052e60048036036040811015610a4457600080fd5b50803590602001356001600160a01b0316611ddf565b348015610a6657600080fd5b506104de60048036036060811015610a7d57600080fd5b506001600160a01b03813516906020810135906040013561205a565b348015610aa557600080fd5b506104b760048036036040811015610abc57600080fd5b50803590602001356120af565b348015610ad557600080fd5b50610ade6120d0565b604080516001600160a01b039092168252519081900360200190f35b348015610b0657600080fd5b506104b7600480360360a0811015610b1d57600080fd5b506001600160a01b03813581169160208101359160408201351690606081013590608001356120df565b348015610b5357600080fd5b50610b7160048036036020811015610b6a57600080fd5b503561213a565b604080519485526020850193909352838301919091526060830152519081900360800190f35b348015610ba357600080fd5b5061065e60048036036020811015610bba57600080fd5b503561217d565b348015610bcd57600080fd5b506104b760048036036060811015610be457600080fd5b506001600160a01b038135811691602081013590911690604001356122ba565b348015610c1057600080fd5b506104b760048036036080811015610c2757600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612314565b348015610c5757600080fd5b506104b76004803603610180811015610c6f57600080fd5b506001600160a01b0361016082013516612323565b348015610c9057600080fd5b506104de60048036036020811015610ca757600080fd5b5035612710565b348015610cba57600080fd5b506104b760048036036080811015610cd157600080fd5b508035906020810135906001600160a01b0360408201358116916060013516612723565b348015610d0157600080fd5b506104b760048036036020811015610d1857600080fd5b5035612731565b348015610d2b57600080fd5b506104b760048036036020811015610d4257600080fd5b50356001600160a01b0316612743565b348015610d5e57600080fd5b506104de60048036036060811015610d7557600080fd5b5080359060208101359060400135612755565b348015610d9457600080fd5b506104b760048036036040811015610dab57600080fd5b50803590602001356128d5565b348015610dc457600080fd5b506104b76128f2565b348015610dd957600080fd5b506104b760048036036040811015610df057600080fd5b50803590602001356128f7565b348015610e0957600080fd5b50610ade60048036036020811015610e2057600080fd5b5035612918565b348015610e3357600080fd5b506104b760048036036020811015610e4a57600080fd5b5035612933565b348015610e5d57600080fd5b506104b760048036036020811015610e7457600080fd5b5035612945565b348015610e8757600080fd5b5061065e60048036036020811015610e9e57600080fd5b5035612b8e565b348015610eb157600080fd5b506104de60048036036040811015610ec857600080fd5b5080359060200135612b99565b348015610ee157600080fd5b50610eff60048036036020811015610ef857600080fd5b5035612bb8565b6040518082606080838360005b83811015610f24578181015183820152602001610f0c565b5050505090500191505060405180910390f35b348015610f4357600080fd5b50610eff60048036036040811015610f5a57600080fd5b50803590602001356001600160a01b0316612c07565b348015610f7c57600080fd5b50610f9a60048036036020811015610f9357600080fd5b5035613378565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b348015610fd957600080fd5b506104b760048036036020811015610ff057600080fd5b50356133d3565b34801561100357600080fd5b5061065e6004803603602081101561101a57600080fd5b50356133de565b34801561102d57600080fd5b506104b76004803603602081101561104457600080fd5b5035613403565b34801561105757600080fd5b506104de600480360360c081101561106e57600080fd5b6001600160a01b03823581169260208101359260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156110b457600080fd5b8201836020820111156110c657600080fd5b803590602001918460018302840111640100000000831117156110e857600080fd5b509092509050613415565b60008282018381101561114d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600060208190529081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a8b0154600b8c0154600c909c01549a9b999a989997989697959694959394929391929091906001600160a01b03168d565b60008281602002015183600160200201518460026020020151856003602002015186600460200201518760056020020151886006602002015189600760200201518a600860200201518b600960200201518c600a6020020151604051602001808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001208260405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120905092915050565b336000908152600960205260409020600101546113245760405162461bcd60e51b81526004018080602001828103825260408152602001806155ca6040913960400191505060405180910390fd5b3360009081526009602052604090205461136f5760405162461bcd60e51b81526004018080602001828103825260358152602001806155956035913960400191505060405180910390fd5b33600081815260096020526040808220805490839055905190929183156108fc02918491818181858888f193505050501580156113b0573d6000803e3d6000fd5b5050565b600281565b6000806113c461530b565b50505060009182526001602081815260408085206001600160a01b039490941685526011909301815292829020825160608101845281548082529282015494810185905260029091015460ff16151592019190915291565b60009182526001602081815260408085206001600160a01b0394909416855260139093019052912080549101549091565b60009081526001602052604090205490565b60055481565b600a6020908152600092835260408084209091529082529020805460019091015482565b60008181526002602090815260408083205485845291839052822060058101548211156114b857806005015491505b60048101546114cd908363ffffffff61358c16565b95945050505050565b60006114e4848484336135d6565b949350505050565b604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e909201909252805191012081565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600787015460088801546009890154600a8a0154600e909a01546001600160a01b03808b169b60ff600160a01b909c048c169b99909116989091168d565b600084611612816139ee565b61161b57600080fd5b600086815260016020526040902061163161532e565b5060058082015460009081526020818152604080832081516101a0810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015460808301529283015460a0820152600683015460c0820152600783015460e082015260088301546101008201526009830154610120820152600a830154610140820152600b830154610160820152600c909201546001600160a01b0316610180830181905215611741578161018001516001600160a01b0316336001600160a01b03161461173a5760405162461bcd60e51b81526004018080602001828103825260258152602001806154ce6025913960400191505060405180910390fd5b5084611744565b50335b60006117528a838b8b613a61565b905061176184600001546140d5565b9998505050505050505050565b858461177982612731565b81111580156117885750600081115b6117d0576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b60006117df8a8a8a8a8a6120df565b905061183285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061182692508591506141f69050565b9063ffffffff61424716565b6001600160a01b0316886001600160a01b031614611886576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b7f46e3ceeda21faa4b362b93454c3125977acdd239013fd4f0ec651e88657e6cfb8a8a8a8a8a8a8a60405180886001600160a01b03166001600160a01b03168152602001878152602001866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039a509098505050505050505050a150505050505050505050565b60009081526001602052604090206002015490565b61195c826139ee565b6119a4576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b0385168452909152902054611a0c576040805162461bcd60e51b81526020600482015260116024820152701ddc9bdb99c81d9bdd19481cda185c9959607a1b604482015290519081900360640190fd5b6000828152600a602090815260408083206001600160a01b038516845290915290208054600190910154611a44918491849190613a61565b506000828152600a602090815260408083206001600160a01b0385168452825280832083815560019081018490558584529091529020546113b0906140d5565b60096020526000908152604090208054600182015460029092015490919083565b6000818152600160205260408120600a01546105dc908290611ace90839063ffffffff61433516565b6000858152600160208181526040808420928452601290920190529020549091506114e490600a840290611b0990849063ffffffff61434b16565b9063ffffffff6143a416565b6000808460021415611c385750604080517f616464726573732047656e6573697350726f746f636f6c41646472657373000060208083019190915271189e5d195ccccc88141c9bdc1bdcd85b125960721b603e8301526b75696e7432353620566f746560a01b60508301527475696e7432353620416d6f756e74546f5374616b6560581b605c8301526c75696e74323536204e6f6e636560981b60718301528251605e818403018152607e830184528051908201203060601b609e84015260b283018c905260d283018b905260f283018a90526101128084018a9052845180850390910181526101328401855280519083012061015284019190915261017280840191909152835180840390910181526101929092019092528051910120611c89565b604080513060601b602080830191909152603482018c9052605482018b9052607482018a905260948083018a90528351808403909101815260b49092019092528051910120611c86906141f6565b90505b6000611cd385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505063ffffffff614247169050565b90506001600160a01b038116611d30576040805162461bcd60e51b815260206004820152601a60248201527f7374616b657220616464726573732063616e6e6f742062652030000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600760205260409020548714611d5457600080fd5b6001600160a01b038116600090815260076020526040902054611d7e90600163ffffffff6110f316565b6001600160a01b038216600090815260076020526040902055611da38a8a8a846135d6565b9a9950505050505050505050565b600160029091565b60005b90565b60009081526001602081905260409091200154600160a01b900460ff1690565b6000828152600160205260408120819060026001820154600160a01b900460ff166006811115611e0b57fe5b14611e1557600080fd5b60028082015460009081526012830160209081526040808320546001600160a01b0389168452601386019092529091209182015490919015801590611e5e575060028301548154145b8015611e6e575060018360020154145b8015611e7957508115155b15611e955781836007015482600201540281611e9157fe5b0493505b8315801590611f2a5750600183015460065460408051636b8eb40360e01b81526001600160a01b039283166004820152602481018b9052905187939290921691636b8eb40391604480820192602092909190829003018186803b158015611efb57600080fd5b505afa158015611f0f573d6000803e3d6000fd5b505050506040513d6020811015611f2557600080fd5b505110155b1561205057600060028201556006830154611f4b908563ffffffff6143e616565b60068085019190915560018401549054604080516317d4ebe560e31b81526001600160a01b039283166004820152898316602482015260448101889052606481018b90529051919092169163bea75f289160848083019260209291908290030181600087803b158015611fbd57600080fd5b505af1158015611fd1573d6000803e3d6000fd5b505050506040513d6020811015611fe757600080fd5b5051611ff257600080fd5b8254600090815260036020908152604091829020548251878152925196975087966001600160a01b03808b16949216928b927fb4a37163ec93e05e09b62e52f7f2ea8cfde431802edede7dfebe53d2ad969dbb929081900390910190a45b5050509250929050565b604080516001600160601b0319606095861b166020808301919091523390951b603482015281516028818303018152604890910182528051908501206000908152600885528181209381529290935291902055565b60009182526001602090815260408084209284526012909201905290205490565b6006546001600160a01b031681565b604080516001600160601b0319606097881b811660208084019190915260348301979097529490961b909316605486015260688501919091526088808501919091528151808503909101815260a89093019052815191012090565b6000908152600160208181526040808420838552601081018352818520546002808752838720549587526012909201909352818520549085529320549093919291565b600061218761539f565b60008381526001602081815260409283902083516101c08101855281548152928101546001600160a01b038116928401929092529192830190600160a01b900460ff1660068111156121d557fe5b60068111156121e057fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311612269575050509183525050600e919091015460ff16151560209091015260c081015181519192506122a991611489565b6122b284614428565b119392505050565b604080516001600160601b0319606094851b81166020808401919091529590941b90931660348401528051602881850301815260489093018152825192840192909220600090815260088452828120918152925290205490565b60006114cd6002858585614469565b6000606483351180159061233957506032833510155b6123745760405162461bcd60e51b815260040180806020018281038252602981526020018061554b6029913960400191505060405180910390fd5b613e8060808401351180159061238f57506103e86080840135115b6123e0576040805162461bcd60e51b815260206004820152601e60248201527f31303030203c207468726573686f6c64436f6e7374203c3d2031363030300000604482015290519081900360640190fd5b606460e0840135111561243a576040805162461bcd60e51b815260206004820181905260248201527f766f7465727352657075746174696f6e4c6f7373526174696f203c3d20313030604482015290519081900360640190fd5b60a0830135604084013510156124815760405162461bcd60e51b815260040180806020018281038252602b815260200180615520602b913960400191505060405180910390fd5b6101008301356124d8576040805162461bcd60e51b815260206004820152601e60248201527f6d696e696d756d44616f426f756e74792073686f756c64206265203e20300000604482015290519081900360640190fd5b61012083013561252f576040805162461bcd60e51b815260206004820152601c60248201527f64616f426f756e7479436f6e73742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600061256584600b806020026040519081016040528092919082600b602002808284376000920191909152508691506111c69050565b905060ac60026107d05b613e808110156125b757608087013581108015612593575060028102608088013511155b156125a9578183816125a157fe5b0492506125b7565b60019091019060020261256f565b50604080516101a0810182528735815260208089013590820152878201359181019190915260608088013590820152608080820190612604908901356001600160d81b03166103e8614836565b81526020810184905260a088810135604083015260c0808a0135606084015260e0808b013560808501526101008b0135928401929092526101208a0135908301520187600a6020908102919091013582526001600160a01b03978816918101919091526000858152808252604090819020835181559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910180546001600160a01b0319169190961617909455509392505050565b8061271a816139ee565b6113b057600080fd5b60006114cd85858585614469565b6000908152600b602052604090205490565b60076020526000908152604090205481565b828261276082612731565b811115801561276f5750600081115b6127b7576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6127c0856139ee565b612808576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b6000858152600a6020908152604080832033845290915290205415612864576040805162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481d9bdd1959609a1b604482015290519081900360640190fd5b6000858152600a6020908152604080832033808552908352928190208781556001018690558051888152918201929092528082018690526060810185905290517f0aad680ea090e3d71ef3942023475bbf0e4092d03db1a09f00e9a8f2e046e2829181900360800190a15050505050565b600860209081526000928352604080842090915290825290205481565b600181565b6000918252600160209081526040808420928452600f909201905290205490565b6003602052600090815260409020546001600160a01b031681565b60046020526000908152604090205481565b600081815260016020526040812060056001820154600160a01b900460ff16600681111561296f57fe5b1480612994575060066001820154600160a01b900460ff16600681111561299257fe5b145b6129cf5760405162461bcd60e51b815260040180806020018281038252603381526020018061560a6033913960400191505060405180910390fd5b6129d883614859565b612a29576040805162461bcd60e51b815260206004820152601760248201527f70726f706f73616c206e65656420746f20657870697265000000000000000000604482015290519081900360640190fd5b612a55612a48600b83016001015460048401549063ffffffff6110f316565b429063ffffffff6143e616565b600a820155612a6383611aa5565b6008820154909250612a7b908363ffffffff6143e616565b60088201556006546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015612ad457600080fd5b505af1158015612ae8573d6000803e3d6000fd5b505050506040513d6020811015612afe57600080fd5b5051612b51576040805162461bcd60e51b815260206004820152601d60248201527f7472616e7366657220746f206d73672e73656e646572206661696c6564000000604482015290519081900360640190fd5b604080518381529051339185917f7468017f6ff596af88244327e88fe691ac48cc1db88b033d11c335f2c7ccdd039181900360200190a350919050565b6000611150826139ee565b3360009081526009602052604090206001810192909255600290910155565b612bc0615420565b60008281526001602052604090819020815160608101909252600b0160038282826020028201915b815481526020019060010190808311612be85750505050509050919050565b612c0f615420565b600083815260016020526040902060026001820154600160a01b900460ff166006811115612c3957fe5b1480612c5d5750600180820154600160a01b900460ff166006811115612c5b57fe5b145b612c985760405162461bcd60e51b815260040180806020018281038252602d8152602001806154f3602d913960400191505060405180910390fd5b612ca061532e565b5060058082015460009081526020818152604080832081516101a081018352815481526001820154818501526002808301548285015260038301546060830152600483015460808301529582015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528816845260138601835281842094860154845260128601909252822054909291612dac612d7689611aa5565b600160009081526012880160205260408082205460028352912054612da09163ffffffff6110f316565b9063ffffffff6143e616565b600184015490915015612e7757600180860154600160a01b900460ff166006811115612dd457fe5b1415612de65760018301548652612e6f565b600285015483541415612e6f57825460011415612e4d578085600701541015612e48576000612e228660070154836143e690919063ffffffff16565b905082612e3c82866001015461434b90919063ffffffff16565b81612e4357fe5b048752505b612e6f565b60018301548290612e64908363ffffffff61434b16565b81612e6b57fe5b0486525b600060018401555b600e85015460ff16158015612ea7575084546000908152600360205260409020546001600160a01b038881169116145b8015612ecc5750600180860154600160a01b900460ff166006811115612ec957fe5b14155b8015612edc575060028560020154145b15612f2d576007850154612f1b90612da084612efe838663ffffffff61434b16565b81612f0557fe5b048960005b60200201519063ffffffff6110f316565b8652600e8501805460ff191660011790555b6001600160a01b03871660009081526011860160205260409020600181015415801590612f5e5750600281015460ff165b1561309d57600180870154600160a01b900460ff166006811115612f7e57fe5b1415612fb4576064612fa2866101000151836001015461434b90919063ffffffff16565b81612fa957fe5b046020880152613095565b805460028701541415613095576000600187600201541415612fe9575060026000908152601087016020526040902054612ffe565b50600160009081526010870160205260409020545b60646130188761010001518361434b90919063ffffffff16565b8161301f57fe5b6002890154600090815260108a016020526040902054600185015492909104925061308e91613054908463ffffffff61434b16565b8161305b57fe5b04606461307a896101000151866001015461434b90919063ffffffff16565b8161308157fe5b049063ffffffff6110f316565b6020890152505b600060018201555b60038601546001600160a01b0389811691161480156130c0575060018660020154145b80156130d8575060038601546001600160a01b031615155b156130fa5760e085015160408801526003860180546001600160a01b03191690555b8651156132475786516008870154613111916143e6565b600887015560065487516040805163a9059cbb60e01b81526001600160a01b038c8116600483015260248201939093529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561316f57600080fd5b505af1158015613183573d6000803e3d6000fd5b505050506040513d602081101561319957600080fd5b50516131ec576040805162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f2062656e6566696369617279206661696c65640000604482015290519081900360640190fd5b8554600090815260036020908152604091829020548951835190815292516001600160a01b038c8116949216928d927f6d26871c9f457d104b2122485f659f126f7a0cf6938cf20482c03f49794a2fbf929081900390910190a45b604087015161325890886001612f0a565b1561336c5760018601546001600160a01b031663d29b5d2f61328389600260200201518a6001612f0a565b8a8c6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156132db57600080fd5b505af11580156132ef573d6000803e3d6000fd5b505050506040513d602081101561330557600080fd5b505085546000908152600360205260409020546001600160a01b03808a1691168a7f7419b736daacf66d5c1645948c956fca2b83be1e2e02d486d65713f289d683b861335a8b600260200201518c6001612f0a565b60408051918252519081900360200190a45b50505050505092915050565b6000908152600160208181526040808420838552600f81018352818520546002808752838720548688526010840186528488205482895285892054978952601290940190955283872054908752929095205494959294909392565b600061115082614428565b6000816133ea816139ee565b6133f357600080fd5b6133fc83614859565b9392505050565b60026020526000908152604090205481565b6001600160a01b0387163014613468576040805162461bcd60e51b815260206004820152601360248201527277726f6e6720766f74696e674d616368696e6560681b604482015290519081900360640190fd5b613471866139ee565b6134b9576040805162461bcd60e51b81526020600482015260146024820152731b9bdd081d9bdd18589b19481c1c9bdc1bdcd85b60621b604482015290519081900360640190fd5b61350a82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611826925061350591508b90508a8a8a8a6120df565b6141f6565b6001600160a01b0316856001600160a01b03161461355e576040805162461bcd60e51b815260206004820152600c60248201526b3bb937b7339039b4b3b732b960a11b604482015290519081900360640190fd5b61356a86868686613a61565b50600086815260016020526040902054613583906140d5565b50505050505050565b60008282650100000000005b81156114cd5781600116600114156135b7576135b48184615180565b90505b60019190911c9081156135d1576135ce8384615180565b92505b613598565b600084846135e382612731565b81111580156135f25750600081115b61363a576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b6000851161368f576040805162461bcd60e51b815260206004820152601b60248201527f7374616b696e6720616d6f756e742073686f756c64206265203e300000000000604482015290519081900360640190fd5b61369887614859565b156136a657600192506139e4565b600087815260016020526040902060046001820154600160a01b900460ff1660068111156136d057fe5b141580156136f8575060036001820154600160a01b900460ff1660068111156136f557fe5b14155b156137075760009350506139e4565b6001600160a01b03851660009081526013820160205260409020600181015415801590613735575080548814155b15613745576000945050506139e4565b600654604080516323b872dd60e01b81526001600160a01b038981166004830152306024830152604482018b905291518a9392909216916323b872dd916064808201926020929091908290030181600087803b1580156137a457600080fd5b505af11580156137b8573d6000803e3d6000fd5b505050506040513d60208110156137ce57600080fd5b5051613821576040805162461bcd60e51b815260206004820152601960248201527f6661696c207472616e736665722066726f6d207374616b657200000000000000604482015290519081900360640190fd5b6008830154613836908263ffffffff6110f316565b60088401556001820154613850908263ffffffff6110f316565b60018301819055600160801b10156138af576040805162461bcd60e51b815260206004820152601a60248201527f7374616b696e6720616d6f756e7420697320746f6f2068696768000000000000604482015290519081900360640190fd5b60068301546138c990600160801b9063ffffffff6143e616565b83600801541115613921576040805162461bcd60e51b815260206004820152601860248201527f746f74616c207374616b657320697320746f6f20686967680000000000000000604482015290519081900360640190fd5b600189141561394557600282015461393f908263ffffffff6110f316565b60028301555b888255600089815260128401602052604090205461396a90829063ffffffff6110f316565b60008a81526012850160209081526040808320939093558554825260038152908290205482518c81529182018b905282516001600160a01b03808c16949216928e927fd0239d7d4acf51def4507fa173be466927de5d75d8b10d840cd6994d6e10231092918290030190a46139de8a614859565b95505050505b5050949350505050565b600081815260016020819052604082200154600160a01b900460ff166004816006811115613a1857fe5b1480613a2f57506005816006811115613a2d57fe5b145b80613a4557506006816006811115613a4357fe5b145b806133fc57506003816006811115613a5957fe5b149392505050565b60008483613a6e82612731565b8111158015613a7d5750600081115b613ac5576040805162461bcd60e51b815260206004820152601460248201527377726f6e67206465636973696f6e2076616c756560601b604482015290519081900360640190fd5b613ace87614859565b15613adc57600192506139e4565b613ae461532e565b506000878152600160208181526040808420600580820154865285845282862083516101a0810185528154815281870154818701526002820154818601526003820154606082015260048083015460808301529282015460a0820152600682015460c0820152600782015460e082015260088201546101008201526009820154610120820152600a820154610140820152600b820154610160820152600c909101546001600160a01b039081166101808301528e8852868652958301548451634ac41bc760e11b81528e881693810193909352602483018f905293519096929592949390921692639588378e92604480840193829003018186803b158015613beb57600080fd5b505afa158015613bff573d6000803e3d6000fd5b505050506040513d6020811015613c1557600080fd5b5051905080613c6b576040805162461bcd60e51b815260206004820152601b60248201527f5f766f746572206d75737420686176652072657075746174696f6e0000000000604482015290519081900360640190fd5b86811015613cb5576040805162461bcd60e51b8152602060048201526012602482015271072657075746174696f6e203e3d205f7265760741b604482015290519081900360640190fd5b8680613cbe5750805b6001600160a01b038a16600090815260118401602052604090206001015415613cee5760009650505050506139e4565b6000898152600f84016020526040902054613d1090829063ffffffff6110f316565b60008a8152600f8501602052604080822083905560028601548252812054908b90521080613d6857506002808401546000908152600f8501602052604080822054928252902054148015613d68575060018360020154145b15613e775760056001840154600160a01b900460ff166006811115613d8957fe5b148015613da9575060c0840151604085015103600b840160010154420310155b80613dcd575060066001840154600160a01b900460ff166006811115613dcb57fe5b145b15613e6f5760066001840154600160a01b900460ff166006811115613dee57fe5b14613e685760c0840151600484015560018301805460ff60a01b1916600360a11b17908190556040518c917f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f991600160a01b90910460ff169080826006811115613e5457fe5b60ff16815260200191505060405180910390a25b42600c8401555b600283018990555b604080516060810182528a81526020810183905290810160046001860154600160a01b900460ff166006811115613eaa57fe5b1480613ecf575060036001860154600160a01b900460ff166006811115613ecd57fe5b145b151590526001600160a01b038b166000908152601185016020908152604091829020835181559083015160018201559101516002909101805460ff191691151591909117905560046001840154600160a01b900460ff166006811115613f3157fe5b1480613f56575060036001840154600160a01b900460ff166006811115613f5457fe5b145b15614061576000898152601084016020526040902054613f7d90829063ffffffff6110f316565b60008a8152601085016020526040812091909155610100850151606490613faa908463ffffffff61434b16565b81613fb157fe5b0490508360010160009054906101000a90046001600160a01b03166001600160a01b031663f81f8bf6828d8f6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561403357600080fd5b505af1158015614047573d6000803e3d6000fd5b505050506040513d602081101561405d57600080fd5b5050505b82546000908152600360209081526040918290205482518c815291820184905282516001600160a01b03808f16949216928f927f066c061a3792cb3eb64a441a928655fcbafb4a54b49725fe9cd2951df5e7189e92918290030190a46140c68b614859565b9b9a5050505050505050505050565b6000818152600360209081526040808320546001600160a01b0316808452600990925290912060010154156113b0576001600160a01b03811660009081526009602052604081206002015461415d90614135903a9063ffffffff61433516565b6001600160a01b0384166000908152600960205260409020600101549063ffffffff61434b16565b6001600160a01b03831660009081526009602052604090205490915081116141f1576001600160a01b0382166000908152600960205260409020546141a8908263ffffffff6143e616565b6001600160a01b038316600090815260096020526040808220929092559051339183156108fc02918491818181858888f193505050501580156141ef573d6000803e3d6000fd5b505b505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b6000815160411461425a57506000611150565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156142a05760009350505050611150565b8060ff16601b141580156142b857508060ff16601c14155b156142c95760009350505050611150565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015614320573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000818310614344578161114d565b5090919050565b60008261435a57506000611150565b8282028284828161436757fe5b041461114d5760405162461bcd60e51b81526004018080602001828103825260218152602001806155746021913960400191505060405180910390fd5b600061114d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506151e4565b600061114d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615286565b600081815260016020818152604080842060028552601281019092528084205492845283205490916133fc916001600160d81b03169063ffffffff61483616565b6000600285101561447957600080fd5b6000848152602081905260409020600b015442116144cf576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd081858dd1a5d99481e595d60921b604482015290519081900360640190fd5b600084815260208190526040902054603211156144eb57600080fd5b600554604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209061453090600163ffffffff6110f316565b60055561453b61539f565b33602082810182905260408051606093841b818401526001600160601b031988851b16603482015281516028818303018152604890910182528051908301208452600381850181905261018085015142905260008a815280845282812060029081015460a08801526001600160a01b038b811660808901529587015260c086018b905285518152925290205416614629576001600160a01b0384166145ff578051600090815260036020526040902080546001600160a01b03191633179055614629565b8051600090815260036020526040902080546001600160a01b0319166001600160a01b0386161790555b8051600090815260046020908152604080832054898452918390528220600a015461466091606491611b099163ffffffff61434b16565b60008881526020819052604090206009015490915061468690829063ffffffff6152e016565b60e0830152600083815260016020818152604092839020855181559085015191810180546001600160a01b0319166001600160a01b03909316929092178083559285015185939192909160ff60a01b1916600160a01b8360068111156146e857fe5b0217905550606082015160028201556080820151600380830180546001600160a01b0319166001600160a01b039093169290921790915560a0830151600483015560c0830151600583015560e08301516006830155610100830151600783015561012083015160088301556101408301516009830155610160830151600a83015561018083015161477e91600b8401919061543e565b506101a09190910151600e909101805460ff191691151591909117905560e0820151600084815260016020908152604080832060028452601201825280832093909355858252600b81528282208b90558451825260038152908290205482518b81526001600160a01b038a8116938201939093528084018b9052925191169185917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c916060908290030190a350909695505050505050565b600061114d6001600160d81b0380851665010000000000908102918516026152f0565b600081614865816139ee565b61486e57600080fd5b600083815260016020526040902061488461532e565b506005808201546000908152602081815260409182902082516101a0810184528154815260018201549281019290925260028101549282019290925260038201546060820152600482015460808201529181015460a0830152600681015460c0830152600781015460e083015260088101546101008301526009810154610120830152600a810154610140830152600b810154610160830152600c01546001600160a01b031661018082015261493861539f565b604080516101c0810182528454815260018501546001600160a01b03811660208301529091859190830190600160a01b900460ff16600681111561497857fe5b600681111561498357fe5b8152600282015460208201526003808301546001600160a01b0316604080840191909152600484015460608085019190915260058501546080850152600685015460a0850152600785015460c0850152600885015460e08501526009850154610100850152600a8501546101208501528151908101918290526101409093019291600b85019182845b815481526020019060010190808311614a0c575050509183525050600e919091015460ff16151560209182015260018501546040805163b551c37360e01b8152600481018b905290519394506000936001600160a01b039092169263b551c37392602480840193829003018186803b158015614a8757600080fd5b505afa158015614a9b573d6000803e3d6000fd5b505050506040513d6020811015614ab157600080fd5b505183518554600090815260086020908152604080832060058a0154845282528083205460028a01548452600f8a01909252822054939450606485049092029261271085048302919081908190861015614b8257600360018b0154600160a01b900460ff166006811115614b2157fe5b1415614b305760019250614b60565b600460018b0154600160a01b900460ff166006811115614b4c57fe5b1415614b5b5760039250614b60565b600592505b60018a0180546002919060ff60a01b1916600160a01b835b0217905550614dd3565b600360018b0154600160a01b900460ff166006811115614b9e57fe5b1415614c20576020890151600b8b0154420310614bd95760018a01805460ff60a01b1916600160a01b1790556002808b018190559250614c20565b614beb8a600501548b60000154611489565b905080614bf78e614428565b1115614c205760018a01805460ff60a01b1916600160a21b17905542600d8b015560098a018190555b600460018b0154600160a01b900460ff166006811115614c3c57fe5b1415614dd357614c548a600501548b60000154611489565b60608a0151909150600b8b0160020154420310614d445780614c758e614428565b1115614d235789546000908152600260205260409020546110001115614d1e5760018a8101805460ff60a01b1916600560a01b17905560608a0151600d8c015401600c8c01558a54600090815260026020818152604080842080549095019094558d54835260048152838320548282528484205492845260128f0190915292909120549193509083900381614d0657fe5b8b546000908152600460205260409020919005830190555b614d3f565b60018a0180546003919060ff60a01b1916600160a01b83614b78565b614dd3565b6000614d4f8e614428565b60098c0154909150614d67908363ffffffff61433516565b8111614d875760018b01805460ff60a01b1916600360a01b179055614dd1565b808b600901541115614dd15760098b018290556040805183815290518f917fad767d61af51c7895fa3cc0497dde01afb610c74e55ee4d8a71fa5e3ee136d54919081900360200190a25b505b600560018b0154600160a01b900460ff166006811115614def57fe5b1480614e145750600660018b0154600160a01b900460ff166006811115614e1257fe5b145b15614e845760048a0154600c8b0154420310614e845760028a01546000908152600f8b0160205260409020548411614e645760018a01805460ff60a01b1916600160a11b17905560059250614e84565b60018a01805460ff60a01b1916600160a01b1790556002808b0155600492505b6000836005811115614e9257fe5b146150d8576004836005811115614ea557fe5b1480614ebc57506005836005811115614eba57fe5b145b15614f77578751600090815260026020526040902054614ee390600163ffffffff6143e616565b88516000908152600260205260408082209290925589518152205480614f19578a54600090815260046020526040812055614f75565b8a546000908152600460209081526040808320546002845260128f01909252909120549093508190614f5890612da0866001850163ffffffff61434b16565b81614f5f57fe5b8c54600090815260046020526040902091900490555b505b600360008b60000154815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b03168d7f37471b9c9d295ffb1309ad070b8964700bfb7b555e8e8292d0b6cbc7dba35d108c600201548a604051808381526020018281526020019250505060405180910390a38c7f46a713b994c752c68fbefa9048bec9a0010cc7d933ad95a3c3dbb25931a167e7846040518082600581111561502257fe5b60ff16815260200191505060405180910390a289600601548a600701819055508960010160009054906101000a90046001600160a01b03166001600160a01b0316639d4c162d8e8c600201546040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b1580156150ab57600080fd5b505af11580156150bf573d6000803e3d6000fd5b505050506040513d60208110156150d557600080fd5b50505b60018a0154600160a01b900460ff1660068111156150f257fe5b8860400151600681111561510257fe5b1461515f578c7f21aca7f0285ccddeca2935074d3e36b5ab8fea0327f84cbbf12cf1b6d1a749f98b60010160149054906101000a900460ff166040518082600681111561514b57fe5b60ff16815260200191505060405180910390a25b600083600581111561516d57fe5b14159d9c50505050505050505050505050565b60008282028284828161518f57fe5b04146151da576040805162461bcd60e51b81526020600482015260156024820152745265616c4d617468206d756c206f766572666c6f7760581b604482015290519081900360640190fd5b60281c9392505050565b600081836152705760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561523557818101518382015260200161521d565b50505050905090810190601f1680156152625780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161527c57fe5b0495945050505050565b600081848411156152d85760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561523557818101518382015260200161521d565b505050900390565b600081831015614344578161114d565b6000816501000000000084028161530357fe5b049392505050565b604051806060016040528060008152602001600081526020016000151581525090565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604080516101c081018252600080825260208201819052909182019081526020016000815260200160006001600160a01b0316815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152602001615413615420565b8152600060209091015290565b60405180606001604052806003906020820280388339509192915050565b826003810192821561546c579160200282015b8281111561546c578251825591602001919060010190615451565b5061547892915061547c565b5090565b611dbc91905b808211156154785760008155600101615482565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906114e4575014159291505056fe61646472657373206e6f7420616c6c6f77656420746f20766f7465206f6e20626568616c6650726f706f73616c2073686f756c64206265204578656375746564206f722045787069726564496e5175657565626f6f73746564566f7465506572696f644c696d6974203e3d207175696574456e64696e67506572696f643530203c3d20717565756564566f7465526571756972656450657263656e74616765203c3d20313030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77445844566f74696e674d616368696e653a204f7267616e697a6174696f6e20726566756e642062616c616e6365206973207a65726f445844566f74696e674d616368696e653a2041646472657373206e6f74207265676973746572656420696e206f7267616e697a6174696f6e5265666f756e647370726f706f73616c20737461746520696e206e6f7420426f6f73746564206e6f72205175696574456e64696e67506572696f64a265627a7a7231582006612669ea7268cfed7348a0c384834d2f39d012fee2593da7118ffcb0691b4264736f6c63430005110032", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/DxAvatar.json b/src/contracts/DxAvatar.json index bc83b606c..268bd867f 100644 --- a/src/contracts/DxAvatar.json +++ b/src/contracts/DxAvatar.json @@ -1,500 +1,500 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DxAvatar", - "sourceName": "dxdao-contracts/contracts/dxdao/DxAvatar.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_orgName", - "type": "string" - }, - { - "internalType": "contract DAOToken", - "name": "_nativeToken", - "type": "address" - }, - { - "internalType": "contract Reputation", - "name": "_nativeReputation", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_externalToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "ExternalTokenApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_externalToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "ExternalTokenTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_externalToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "ExternalTokenTransferFrom", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_success", - "type": "bool" - } - ], - "name": "GenericCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_metaData", - "type": "string" - } - ], - "name": "MetaData", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "ReceiveEther", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_amountInWei", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "SendEther", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_externalToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "externalTokenApproval", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_externalToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "externalTokenTransfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_externalToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "externalTokenTransferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "genericCall", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnValue", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_metaData", - "type": "string" - } - ], - "name": "metaData", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nativeReputation", - "outputs": [ - { - "internalType": "contract Reputation", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nativeToken", - "outputs": [ - { - "internalType": "contract DAOToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "orgName", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_amountInWei", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_to", - "type": "address" - } - ], - "name": "sendEther", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040516200154538038062001545833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b506040908152602082015191015190925090508282826200010f6001600160e01b03620001a416565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a382516200016c906001906020860190620001a9565b50600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506200024b92505050565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ec57805160ff19168380011785556200021c565b828001600101855582156200021c579182015b828111156200021c578251825591602001919060010190620001ff565b506200022a9291506200022e565b5090565b620001a691905b808211156200022a576000815560010162000235565b6112ea806200025b6000396000f3fe6080604052600436106100c25760003560e01c80638f32d59b1161007f578063cb16d4a211610059578063cb16d4a214610491578063dab0efff146104ca578063e1758bd81461050d578063f2fde38b14610522576100c2565b80638f32d59b146103f0578063ab751f7114610405578063b756d5a214610448576100c2565b80631386dc2d146100fa5780632bf1645814610184578063715018a6146102cc578063890ac46c146102e357806389ae1c90146103aa5780638da5cb5b146103db575b60408051348152905133917ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a704396919081900360200190a2005b34801561010657600080fd5b5061010f610555565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019057600080fd5b50610249600480360360608110156101a757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d257600080fd5b8201836020820111156101e457600080fd5b8035906020019184600183028401116401000000008311171561020657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506105e2915050565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610290578181015183820152602001610278565b50505050905090810190601f1680156102bd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156102d857600080fd5b506102e1610797565b005b3480156102ef57600080fd5b506103966004803603602081101561030657600080fd5b81019060208101813564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610828945050505050565b604080519115158252519081900360200190f35b3480156103b657600080fd5b506103bf610912565b604080516001600160a01b039092168252519081900360200190f35b3480156103e757600080fd5b506103bf610921565b3480156103fc57600080fd5b50610396610930565b34801561041157600080fd5b506103966004803603606081101561042857600080fd5b506001600160a01b03813581169160208101359091169060400135610954565b34801561045457600080fd5b506103966004803603608081101561046b57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135610a07565b34801561049d57600080fd5b50610396600480360360408110156104b457600080fd5b50803590602001356001600160a01b0316610ac5565b3480156104d657600080fd5b50610396600480360360608110156104ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610bf5565b34801561051957600080fd5b506103bf610cad565b34801561052e57600080fd5b506102e16004803603602081101561054557600080fd5b50356001600160a01b0316610cbc565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b505050505081565b600060606105ee610930565b61062d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b846001600160a01b031683856040518082805190602001908083835b602083106106685780518252601f199092019160209182019101610649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146106ca576040519150601f19603f3d011682016040523d82523d6000602084013e6106cf565b606091505b508092508193505050846001600160a01b03167f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0858585604051808060200184815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b8381101561075357818101518382015260200161073b565b50505050905090810190601f1680156107805780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a2935093915050565b61079f610930565b6107de576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610832610930565b610871576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b7ff9deba4938ba20070ec5a45ddf59bccba49cf83124215228ec1232182ef0ba2b826040518080602001828103825283818151815260200191508051906020019080838360005b838110156108d05781810151838201526020016108b8565b50505050905090810190601f1680156108fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506001919050565b6003546001600160a01b031681565b6000546001600160a01b031690565b600080546001600160a01b0316610945610d0f565b6001600160a01b031614905090565b600061095e610930565b61099d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6109b76001600160a01b038516848463ffffffff610d1316565b604080516001600160a01b038581168252602082018590528251908716927f3a48a4d6253b30fd10e57a347c1f9bcb0604946481fae0b2fdad6e74f2a9cbb3928290030190a25060019392505050565b6000610a11610930565b610a50576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610a6b6001600160a01b03861685858563ffffffff610f2416565b604080516001600160a01b03868116825285811660208301528183018590529151918716917f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e8439181900360600190a2506001949350505050565b6000610acf610930565b610b0e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6040516000906060906001600160a01b0385169086908481818185875af1925050503d8060008114610b5c576040519150601f19603f3d011682016040523d82523d6000602084013e610b61565b606091505b509150915081610bae576040805162461bcd60e51b8152602060048201526013602482015272195d1a081d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b6040805186815290516001600160a01b038616917f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c919081900360200190a2509392505050565b6000610bff610930565b610c3e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610c586001600160a01b038516848463ffffffff6110a716565b826001600160a01b0316846001600160a01b03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d846040518082815260200191505060405180910390a35060019392505050565b6002546001600160a01b031681565b610cc4610930565b610d03576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610d0c8161116e565b50565b3390565b610d25836001600160a01b031661120e565b610d2e57600080fd5b801580610db4575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610d8657600080fd5b505afa158015610d9a573d6000803e3d6000fd5b505050506040513d6020811015610db057600080fd5b5051155b610dbd57600080fd5b604080518082018252601881527f617070726f766528616464726573732c75696e7432353629000000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663095ea7b360e01b1781529251815160009460609489169392918291908083835b60208310610e6a5780518252601f199092019160209182019101610e4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ecc576040519150601f19603f3d011682016040523d82523d6000602084013e610ed1565b606091505b509150915081610ee057600080fd5b80511580610f14575080516020148015610f14575080601f81518110610f0257fe5b01602001516001600160f81b03191615155b610f1d57600080fd5b5050505050565b610f36846001600160a01b031661120e565b610f3f57600080fd5b60006060856001600160a01b031660405180606001604052806025815260200161124b602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b60208310610fec5780518252601f199092019160209182019101610fcd565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461104e576040519150601f19603f3d011682016040523d82523d6000602084013e611053565b606091505b50915091508161106257600080fd5b80511580611096575080516020148015611096575080601f8151811061108457fe5b01602001516001600160f81b03191615155b61109f57600080fd5b505050505050565b6110b9836001600160a01b031661120e565b6110c257600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17815292518151600094606094891693929182919080838360208310610e6a5780518252601f199092019160209182019101610e4b565b6001600160a01b0381166111b35760405162461bcd60e51b81526004018080602001828103825260268152602001806112706026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906112425750808214155b94935050505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e74323536294f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820833cfd7680931efa77a1f7184dfde7b504d5e1f915f18386b7edbe8814b61d0464736f6c63430005110032", - "deployedBytecode": "0x6080604052600436106100c25760003560e01c80638f32d59b1161007f578063cb16d4a211610059578063cb16d4a214610491578063dab0efff146104ca578063e1758bd81461050d578063f2fde38b14610522576100c2565b80638f32d59b146103f0578063ab751f7114610405578063b756d5a214610448576100c2565b80631386dc2d146100fa5780632bf1645814610184578063715018a6146102cc578063890ac46c146102e357806389ae1c90146103aa5780638da5cb5b146103db575b60408051348152905133917ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a704396919081900360200190a2005b34801561010657600080fd5b5061010f610555565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019057600080fd5b50610249600480360360608110156101a757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d257600080fd5b8201836020820111156101e457600080fd5b8035906020019184600183028401116401000000008311171561020657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506105e2915050565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610290578181015183820152602001610278565b50505050905090810190601f1680156102bd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156102d857600080fd5b506102e1610797565b005b3480156102ef57600080fd5b506103966004803603602081101561030657600080fd5b81019060208101813564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610828945050505050565b604080519115158252519081900360200190f35b3480156103b657600080fd5b506103bf610912565b604080516001600160a01b039092168252519081900360200190f35b3480156103e757600080fd5b506103bf610921565b3480156103fc57600080fd5b50610396610930565b34801561041157600080fd5b506103966004803603606081101561042857600080fd5b506001600160a01b03813581169160208101359091169060400135610954565b34801561045457600080fd5b506103966004803603608081101561046b57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135610a07565b34801561049d57600080fd5b50610396600480360360408110156104b457600080fd5b50803590602001356001600160a01b0316610ac5565b3480156104d657600080fd5b50610396600480360360608110156104ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610bf5565b34801561051957600080fd5b506103bf610cad565b34801561052e57600080fd5b506102e16004803603602081101561054557600080fd5b50356001600160a01b0316610cbc565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b505050505081565b600060606105ee610930565b61062d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b846001600160a01b031683856040518082805190602001908083835b602083106106685780518252601f199092019160209182019101610649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146106ca576040519150601f19603f3d011682016040523d82523d6000602084013e6106cf565b606091505b508092508193505050846001600160a01b03167f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0858585604051808060200184815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b8381101561075357818101518382015260200161073b565b50505050905090810190601f1680156107805780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a2935093915050565b61079f610930565b6107de576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610832610930565b610871576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b7ff9deba4938ba20070ec5a45ddf59bccba49cf83124215228ec1232182ef0ba2b826040518080602001828103825283818151815260200191508051906020019080838360005b838110156108d05781810151838201526020016108b8565b50505050905090810190601f1680156108fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506001919050565b6003546001600160a01b031681565b6000546001600160a01b031690565b600080546001600160a01b0316610945610d0f565b6001600160a01b031614905090565b600061095e610930565b61099d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6109b76001600160a01b038516848463ffffffff610d1316565b604080516001600160a01b038581168252602082018590528251908716927f3a48a4d6253b30fd10e57a347c1f9bcb0604946481fae0b2fdad6e74f2a9cbb3928290030190a25060019392505050565b6000610a11610930565b610a50576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610a6b6001600160a01b03861685858563ffffffff610f2416565b604080516001600160a01b03868116825285811660208301528183018590529151918716917f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e8439181900360600190a2506001949350505050565b6000610acf610930565b610b0e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6040516000906060906001600160a01b0385169086908481818185875af1925050503d8060008114610b5c576040519150601f19603f3d011682016040523d82523d6000602084013e610b61565b606091505b509150915081610bae576040805162461bcd60e51b8152602060048201526013602482015272195d1a081d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b6040805186815290516001600160a01b038616917f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c919081900360200190a2509392505050565b6000610bff610930565b610c3e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610c586001600160a01b038516848463ffffffff6110a716565b826001600160a01b0316846001600160a01b03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d846040518082815260200191505060405180910390a35060019392505050565b6002546001600160a01b031681565b610cc4610930565b610d03576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610d0c8161116e565b50565b3390565b610d25836001600160a01b031661120e565b610d2e57600080fd5b801580610db4575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610d8657600080fd5b505afa158015610d9a573d6000803e3d6000fd5b505050506040513d6020811015610db057600080fd5b5051155b610dbd57600080fd5b604080518082018252601881527f617070726f766528616464726573732c75696e7432353629000000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663095ea7b360e01b1781529251815160009460609489169392918291908083835b60208310610e6a5780518252601f199092019160209182019101610e4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ecc576040519150601f19603f3d011682016040523d82523d6000602084013e610ed1565b606091505b509150915081610ee057600080fd5b80511580610f14575080516020148015610f14575080601f81518110610f0257fe5b01602001516001600160f81b03191615155b610f1d57600080fd5b5050505050565b610f36846001600160a01b031661120e565b610f3f57600080fd5b60006060856001600160a01b031660405180606001604052806025815260200161124b602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b60208310610fec5780518252601f199092019160209182019101610fcd565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461104e576040519150601f19603f3d011682016040523d82523d6000602084013e611053565b606091505b50915091508161106257600080fd5b80511580611096575080516020148015611096575080601f8151811061108457fe5b01602001516001600160f81b03191615155b61109f57600080fd5b505050505050565b6110b9836001600160a01b031661120e565b6110c257600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17815292518151600094606094891693929182919080838360208310610e6a5780518252601f199092019160209182019101610e4b565b6001600160a01b0381166111b35760405162461bcd60e51b81526004018080602001828103825260268152602001806112706026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906112425750808214155b94935050505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e74323536294f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820833cfd7680931efa77a1f7184dfde7b504d5e1f915f18386b7edbe8814b61d0464736f6c63430005110032", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "DxAvatar", + "sourceName": "dxdao-contracts/contracts/dxdao/DxAvatar.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_orgName", + "type": "string" + }, + { + "internalType": "contract DAOToken", + "name": "_nativeToken", + "type": "address" + }, + { + "internalType": "contract Reputation", + "name": "_nativeReputation", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenApproval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_externalToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenTransferFrom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_contract", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_success", + "type": "bool" + } + ], + "name": "GenericCall", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "_metaData", + "type": "string" + } + ], + "name": "MetaData", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "ReceiveEther", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_amountInWei", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "SendEther", + "type": "event" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_externalToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "externalTokenApproval", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_externalToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "externalTokenTransfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_externalToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "externalTokenTransferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_contract", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "genericCall", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "returnValue", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "_metaData", + "type": "string" + } + ], + "name": "metaData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeReputation", + "outputs": [ + { + "internalType": "contract Reputation", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "outputs": [ + { + "internalType": "contract DAOToken", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "orgName", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_amountInWei", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_to", + "type": "address" + } + ], + "name": "sendEther", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b506040516200154538038062001545833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b506040908152602082015191015190925090508282826200010f6001600160e01b03620001a416565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a382516200016c906001906020860190620001a9565b50600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506200024b92505050565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ec57805160ff19168380011785556200021c565b828001600101855582156200021c579182015b828111156200021c578251825591602001919060010190620001ff565b506200022a9291506200022e565b5090565b620001a691905b808211156200022a576000815560010162000235565b6112ea806200025b6000396000f3fe6080604052600436106100c25760003560e01c80638f32d59b1161007f578063cb16d4a211610059578063cb16d4a214610491578063dab0efff146104ca578063e1758bd81461050d578063f2fde38b14610522576100c2565b80638f32d59b146103f0578063ab751f7114610405578063b756d5a214610448576100c2565b80631386dc2d146100fa5780632bf1645814610184578063715018a6146102cc578063890ac46c146102e357806389ae1c90146103aa5780638da5cb5b146103db575b60408051348152905133917ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a704396919081900360200190a2005b34801561010657600080fd5b5061010f610555565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019057600080fd5b50610249600480360360608110156101a757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d257600080fd5b8201836020820111156101e457600080fd5b8035906020019184600183028401116401000000008311171561020657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506105e2915050565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610290578181015183820152602001610278565b50505050905090810190601f1680156102bd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156102d857600080fd5b506102e1610797565b005b3480156102ef57600080fd5b506103966004803603602081101561030657600080fd5b81019060208101813564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610828945050505050565b604080519115158252519081900360200190f35b3480156103b657600080fd5b506103bf610912565b604080516001600160a01b039092168252519081900360200190f35b3480156103e757600080fd5b506103bf610921565b3480156103fc57600080fd5b50610396610930565b34801561041157600080fd5b506103966004803603606081101561042857600080fd5b506001600160a01b03813581169160208101359091169060400135610954565b34801561045457600080fd5b506103966004803603608081101561046b57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135610a07565b34801561049d57600080fd5b50610396600480360360408110156104b457600080fd5b50803590602001356001600160a01b0316610ac5565b3480156104d657600080fd5b50610396600480360360608110156104ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610bf5565b34801561051957600080fd5b506103bf610cad565b34801561052e57600080fd5b506102e16004803603602081101561054557600080fd5b50356001600160a01b0316610cbc565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b505050505081565b600060606105ee610930565b61062d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b846001600160a01b031683856040518082805190602001908083835b602083106106685780518252601f199092019160209182019101610649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146106ca576040519150601f19603f3d011682016040523d82523d6000602084013e6106cf565b606091505b508092508193505050846001600160a01b03167f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0858585604051808060200184815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b8381101561075357818101518382015260200161073b565b50505050905090810190601f1680156107805780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a2935093915050565b61079f610930565b6107de576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610832610930565b610871576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b7ff9deba4938ba20070ec5a45ddf59bccba49cf83124215228ec1232182ef0ba2b826040518080602001828103825283818151815260200191508051906020019080838360005b838110156108d05781810151838201526020016108b8565b50505050905090810190601f1680156108fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506001919050565b6003546001600160a01b031681565b6000546001600160a01b031690565b600080546001600160a01b0316610945610d0f565b6001600160a01b031614905090565b600061095e610930565b61099d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6109b76001600160a01b038516848463ffffffff610d1316565b604080516001600160a01b038581168252602082018590528251908716927f3a48a4d6253b30fd10e57a347c1f9bcb0604946481fae0b2fdad6e74f2a9cbb3928290030190a25060019392505050565b6000610a11610930565b610a50576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610a6b6001600160a01b03861685858563ffffffff610f2416565b604080516001600160a01b03868116825285811660208301528183018590529151918716917f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e8439181900360600190a2506001949350505050565b6000610acf610930565b610b0e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6040516000906060906001600160a01b0385169086908481818185875af1925050503d8060008114610b5c576040519150601f19603f3d011682016040523d82523d6000602084013e610b61565b606091505b509150915081610bae576040805162461bcd60e51b8152602060048201526013602482015272195d1a081d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b6040805186815290516001600160a01b038616917f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c919081900360200190a2509392505050565b6000610bff610930565b610c3e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610c586001600160a01b038516848463ffffffff6110a716565b826001600160a01b0316846001600160a01b03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d846040518082815260200191505060405180910390a35060019392505050565b6002546001600160a01b031681565b610cc4610930565b610d03576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610d0c8161116e565b50565b3390565b610d25836001600160a01b031661120e565b610d2e57600080fd5b801580610db4575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610d8657600080fd5b505afa158015610d9a573d6000803e3d6000fd5b505050506040513d6020811015610db057600080fd5b5051155b610dbd57600080fd5b604080518082018252601881527f617070726f766528616464726573732c75696e7432353629000000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663095ea7b360e01b1781529251815160009460609489169392918291908083835b60208310610e6a5780518252601f199092019160209182019101610e4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ecc576040519150601f19603f3d011682016040523d82523d6000602084013e610ed1565b606091505b509150915081610ee057600080fd5b80511580610f14575080516020148015610f14575080601f81518110610f0257fe5b01602001516001600160f81b03191615155b610f1d57600080fd5b5050505050565b610f36846001600160a01b031661120e565b610f3f57600080fd5b60006060856001600160a01b031660405180606001604052806025815260200161124b602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b60208310610fec5780518252601f199092019160209182019101610fcd565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461104e576040519150601f19603f3d011682016040523d82523d6000602084013e611053565b606091505b50915091508161106257600080fd5b80511580611096575080516020148015611096575080601f8151811061108457fe5b01602001516001600160f81b03191615155b61109f57600080fd5b505050505050565b6110b9836001600160a01b031661120e565b6110c257600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17815292518151600094606094891693929182919080838360208310610e6a5780518252601f199092019160209182019101610e4b565b6001600160a01b0381166111b35760405162461bcd60e51b81526004018080602001828103825260268152602001806112706026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906112425750808214155b94935050505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e74323536294f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820833cfd7680931efa77a1f7184dfde7b504d5e1f915f18386b7edbe8814b61d0464736f6c63430005110032", + "deployedBytecode": "0x6080604052600436106100c25760003560e01c80638f32d59b1161007f578063cb16d4a211610059578063cb16d4a214610491578063dab0efff146104ca578063e1758bd81461050d578063f2fde38b14610522576100c2565b80638f32d59b146103f0578063ab751f7114610405578063b756d5a214610448576100c2565b80631386dc2d146100fa5780632bf1645814610184578063715018a6146102cc578063890ac46c146102e357806389ae1c90146103aa5780638da5cb5b146103db575b60408051348152905133917ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a704396919081900360200190a2005b34801561010657600080fd5b5061010f610555565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610149578181015183820152602001610131565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019057600080fd5b50610249600480360360608110156101a757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d257600080fd5b8201836020820111156101e457600080fd5b8035906020019184600183028401116401000000008311171561020657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506105e2915050565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610290578181015183820152602001610278565b50505050905090810190601f1680156102bd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156102d857600080fd5b506102e1610797565b005b3480156102ef57600080fd5b506103966004803603602081101561030657600080fd5b81019060208101813564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610828945050505050565b604080519115158252519081900360200190f35b3480156103b657600080fd5b506103bf610912565b604080516001600160a01b039092168252519081900360200190f35b3480156103e757600080fd5b506103bf610921565b3480156103fc57600080fd5b50610396610930565b34801561041157600080fd5b506103966004803603606081101561042857600080fd5b506001600160a01b03813581169160208101359091169060400135610954565b34801561045457600080fd5b506103966004803603608081101561046b57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135610a07565b34801561049d57600080fd5b50610396600480360360408110156104b457600080fd5b50803590602001356001600160a01b0316610ac5565b3480156104d657600080fd5b50610396600480360360608110156104ed57600080fd5b506001600160a01b03813581169160208101359091169060400135610bf5565b34801561051957600080fd5b506103bf610cad565b34801561052e57600080fd5b506102e16004803603602081101561054557600080fd5b50356001600160a01b0316610cbc565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b505050505081565b600060606105ee610930565b61062d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b846001600160a01b031683856040518082805190602001908083835b602083106106685780518252601f199092019160209182019101610649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146106ca576040519150601f19603f3d011682016040523d82523d6000602084013e6106cf565b606091505b508092508193505050846001600160a01b03167f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0858585604051808060200184815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b8381101561075357818101518382015260200161073b565b50505050905090810190601f1680156107805780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a2935093915050565b61079f610930565b6107de576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610832610930565b610871576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b7ff9deba4938ba20070ec5a45ddf59bccba49cf83124215228ec1232182ef0ba2b826040518080602001828103825283818151815260200191508051906020019080838360005b838110156108d05781810151838201526020016108b8565b50505050905090810190601f1680156108fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1506001919050565b6003546001600160a01b031681565b6000546001600160a01b031690565b600080546001600160a01b0316610945610d0f565b6001600160a01b031614905090565b600061095e610930565b61099d576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6109b76001600160a01b038516848463ffffffff610d1316565b604080516001600160a01b038581168252602082018590528251908716927f3a48a4d6253b30fd10e57a347c1f9bcb0604946481fae0b2fdad6e74f2a9cbb3928290030190a25060019392505050565b6000610a11610930565b610a50576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610a6b6001600160a01b03861685858563ffffffff610f2416565b604080516001600160a01b03868116825285811660208301528183018590529151918716917f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e8439181900360600190a2506001949350505050565b6000610acf610930565b610b0e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b6040516000906060906001600160a01b0385169086908481818185875af1925050503d8060008114610b5c576040519150601f19603f3d011682016040523d82523d6000602084013e610b61565b606091505b509150915081610bae576040805162461bcd60e51b8152602060048201526013602482015272195d1a081d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b6040805186815290516001600160a01b038616917f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c919081900360200190a2509392505050565b6000610bff610930565b610c3e576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610c586001600160a01b038516848463ffffffff6110a716565b826001600160a01b0316846001600160a01b03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d846040518082815260200191505060405180910390a35060019392505050565b6002546001600160a01b031681565b610cc4610930565b610d03576040805162461bcd60e51b81526020600482018190526024820152600080516020611296833981519152604482015290519081900360640190fd5b610d0c8161116e565b50565b3390565b610d25836001600160a01b031661120e565b610d2e57600080fd5b801580610db4575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610d8657600080fd5b505afa158015610d9a573d6000803e3d6000fd5b505050506040513d6020811015610db057600080fd5b5051155b610dbd57600080fd5b604080518082018252601881527f617070726f766528616464726573732c75696e7432353629000000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663095ea7b360e01b1781529251815160009460609489169392918291908083835b60208310610e6a5780518252601f199092019160209182019101610e4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ecc576040519150601f19603f3d011682016040523d82523d6000602084013e610ed1565b606091505b509150915081610ee057600080fd5b80511580610f14575080516020148015610f14575080601f81518110610f0257fe5b01602001516001600160f81b03191615155b610f1d57600080fd5b5050505050565b610f36846001600160a01b031661120e565b610f3f57600080fd5b60006060856001600160a01b031660405180606001604052806025815260200161124b602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b60208310610fec5780518252601f199092019160209182019101610fcd565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461104e576040519150601f19603f3d011682016040523d82523d6000602084013e611053565b606091505b50915091508161106257600080fd5b80511580611096575080516020148015611096575080601f8151811061108457fe5b01602001516001600160f81b03191615155b61109f57600080fd5b505050505050565b6110b9836001600160a01b031661120e565b6110c257600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17815292518151600094606094891693929182919080838360208310610e6a5780518252601f199092019160209182019101610e4b565b6001600160a01b0381166111b35760405162461bcd60e51b81526004018080602001828103825260268152602001806112706026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906112425750808214155b94935050505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e74323536294f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820833cfd7680931efa77a1f7184dfde7b504d5e1f915f18386b7edbe8814b61d0464736f6c63430005110032", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/DxController.json b/src/contracts/DxController.json index 23e637925..c9d9d5420 100644 --- a/src/contracts/DxController.json +++ b/src/contracts/DxController.json @@ -1,1047 +1,1047 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DxController", - "sourceName": "dxdao-contracts/contracts/dxdao/DxController.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_globalConstraint", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "_params", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "enum GlobalConstraintInterface.CallPhase", - "name": "_when", - "type": "uint8" - } - ], - "name": "AddGlobalConstraint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "BurnReputation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "MintReputation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "MintTokens", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_scheme", - "type": "address" - } - ], - "name": "RegisterScheme", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_globalConstraint", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_isPre", - "type": "bool" - } - ], - "name": "RemoveGlobalConstraint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_scheme", - "type": "address" - } - ], - "name": "UnregisterScheme", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_oldController", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_newController", - "type": "address" - } - ], - "name": "UpgradeController", - "type": "event" - }, - { - "payable": false, - "stateMutability": "nonpayable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_globalConstraint", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_params", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "addGlobalConstraint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "avatar", - "outputs": [ - { - "internalType": "contract Avatar", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "burnReputation", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_externalToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - } - ], - "name": "externalTokenApproval", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_externalToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - } - ], - "name": "externalTokenTransfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_externalToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - } - ], - "name": "externalTokenTransferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "genericCall", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_globalConstraint", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getGlobalConstraintParameters", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "getNativeReputation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_scheme", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "getSchemeParameters", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_scheme", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "getSchemePermissions", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "globalConstraintsCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "globalConstraintsPost", - "outputs": [ - { - "internalType": "address", - "name": "gcAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "params", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "globalConstraintsPre", - "outputs": [ - { - "internalType": "address", - "name": "gcAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "params", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "globalConstraintsRegisterPost", - "outputs": [ - { - "internalType": "bool", - "name": "isRegistered", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "globalConstraintsRegisterPre", - "outputs": [ - { - "internalType": "bool", - "name": "isRegistered", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_globalConstraint", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "isGlobalConstraintRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_scheme", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "isSchemeRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_metaData", - "type": "string" - }, - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - } - ], - "name": "metaData", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "mintReputation", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_beneficiary", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "mintTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nativeReputation", - "outputs": [ - { - "internalType": "contract Reputation", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nativeToken", - "outputs": [ - { - "internalType": "contract DAOToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "newController", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_scheme", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_paramsHash", - "type": "bytes32" - }, - { - "internalType": "bytes4", - "name": "_permissions", - "type": "bytes4" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "registerScheme", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_globalConstraint", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "removeGlobalConstraint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "schemes", - "outputs": [ - { - "internalType": "bytes32", - "name": "paramsHash", - "type": "bytes32" - }, - { - "internalType": "bytes4", - "name": "permissions", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_amountInWei", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_to", - "type": "address" - }, - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - } - ], - "name": "sendEther", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_scheme", - "type": "address" - }, - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "unregisterScheme", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_avatar", - "type": "address" - } - ], - "name": "unregisterSelf", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_newController", - "type": "address" - }, - { - "internalType": "contract Avatar", - "name": "_avatar", - "type": "address" - } - ], - "name": "upgradeController", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162003b4438038062003b44833981810160405260208110156200003757600080fd5b5051600180546001600160a01b0319166001600160a01b03808416919091179182905560408051631c2eb17b60e31b8152905184939092169163e1758bd891600480820192602092909190829003018186803b1580156200009757600080fd5b505afa158015620000ac573d6000803e3d6000fd5b505050506040513d6020811015620000c357600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556001546040805163089ae1c960e41b8152905191909216916389ae1c90916004808301926020929190829003018186803b1580156200011f57600080fd5b505afa15801562000134573d6000803e3d6000fd5b505050506040513d60208110156200014b57600080fd5b5051600380546001600160a01b0319166001600160a01b0390921691909117905550506040805180820182526000808252601f60e01b6020808401918252338352829052928120915182559151600191909101805463ffffffff191660e09290921c919091179055613980908190620001c490396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806389ae1c901161010f578063e08738da116100a2578063e8c98b2211610071578063e8c98b221461083e578063eaf994b21461085b578063f76488be1461088f578063fb4856a2146108bd576101e5565b8063e08738da1461078e578063e1758bd8146107bc578063e4537a74146107c4578063e869d45f146107fa576101e5565b8063b9a04cdd116100de578063b9a04cdd1461057f578063c9b62eb1146105bb578063d1b7089a14610634578063db6149ce14610746576101e5565b806389ae1c90146104d85780638da03997146104e05780639b51e35a146105065780639be2faed14610551576101e5565b806351803cd8116101875780636c525b13116101565780636c525b13146104195780636e94d2781461043f578063814784f614610473578063824f2f1f14610499576101e5565b806351803cd81461036d5780635aef7de6146103a9578063634965da146103b15780636407e432146103e5576101e5565b80633a02263c116101c35780633a02263c146102ad57806342427bf8146102d15780634422d372146102ff5780634f52b5be1461033f576101e5565b8063039de01d146101ea578063177eebb01461022c5780631c4d56081461026d575b600080fd5b6102186004803603604081101561020057600080fd5b506001600160a01b0381358116916020013516610903565b604080519115158252519081900360200190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b0316610c09565b60408051921515835260208301919091528051918290030190f35b61029b6004803603604081101561028357600080fd5b506001600160a01b0381358116916020013516610c28565b60408051918252519081900360200190f35b6102b5610c6a565b604080516001600160a01b039092168252519081900360200190f35b610218600480360360408110156102e757600080fd5b506001600160a01b0381358116916020013516610c79565b61031c6004803603602081101561031557600080fd5b503561113b565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6102186004803603604081101561035557600080fd5b506001600160a01b0381358116916020013516611170565b6102186004803603608081101561038357600080fd5b506001600160a01b0381358116916020810135821691604082013591606001351661156b565b6102b561184f565b610218600480360360608110156103c757600080fd5b508035906001600160a01b036020820135811691604001351661185e565b610218600480360360608110156103fb57600080fd5b508035906001600160a01b0360208201358116916040013516611b25565b6102186004803603602081101561042f57600080fd5b50356001600160a01b0316611e24565b6102186004803603606081101561045557600080fd5b508035906001600160a01b0360208201358116916040013516611eab565b6102526004803603602081101561048957600080fd5b50356001600160a01b03166121ae565b6104bf600480360360208110156104af57600080fd5b50356001600160a01b03166121cd565b6040805192835260208301919091528051918290030190f35b6102b56121ff565b6102b5600480360360208110156104f657600080fd5b50356001600160a01b031661220e565b6105346004803603604081101561051c57600080fd5b506001600160a01b0381358116916020013516612240565b604080516001600160e01b03199092168252519081900360200190f35b6102186004803603604081101561056757600080fd5b506001600160a01b0381358116916020013516612283565b6102186004803603608081101561059557600080fd5b506001600160a01b038135811691602081013582169160408201359160600135166122b3565b610218600480360360408110156105d157600080fd5b8101906020810181356401000000008111156105ec57600080fd5b8201836020820111156105fe57600080fd5b8035906020019184600183028401116401000000008311171561062057600080fd5b9193509150356001600160a01b0316612585565b6106c36004803603608081101561064a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460018302840111640100000000831117156106a957600080fd5b91935091506001600160a01b038135169060200135612675565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561070a5781810151838201526020016106f2565b50505050905090810190601f1680156107375780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61076c6004803603602081101561075c57600080fd5b50356001600160a01b0316612a46565b604080519283526001600160e01b031990911660208301528051918290030190f35b61029b600480360360408110156107a457600080fd5b506001600160a01b0381358116916020013516612a62565b6102b5612b2e565b610218600480360360608110156107da57600080fd5b506001600160a01b03813581169160208101359160409091013516612b3d565b6102186004803603608081101561081057600080fd5b506001600160a01b0381358116916020810135916001600160e01b0319604083013516916060013516612f09565b61031c6004803603602081101561085457600080fd5b5035613246565b6102186004803603606081101561087157600080fd5b508035906001600160a01b0360208201358116916040013516613253565b610218600480360360408110156108a557600080fd5b506001600160a01b0381358116916020013516613556565b610218600480360360a08110156108d357600080fd5b506001600160a01b03813581169160208101358216916040820135811691606081013591608090910135166135b8565b3360009081526020819052604081206001015460e01b600160e11b9081161461092b57600080fd5b6f756e7265676973746572536368656d6560801b60005b600554811015610a32576005818154811061095957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061098c57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050506040513d6020811015610a1f57600080fd5b5051610a2a57600080fd5b600101610942565b60015484906001600160a01b03808316911614610a4e57600080fd5b610a57866138a5565b610a645760009350610b0b565b336000908152602081905260408082206001908101546001600160a01b038a168452919092209091015460e091821b19911b16601f60e01b1615610aa757600080fd5b6040516001600160a01b0387169033907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf90600090a36001600160a01b03861660009081526020819052604081209081556001908101805463ffffffff1916905593505b50600090505b600654811015610c015760068181548110610b2857fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110610b5b57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b505050506040513d6020811015610bee57600080fd5b5051610bf957600080fd5b600101610b11565b505092915050565b6007602052600090815260409020805460019091015460ff9091169082565b60015460009082906001600160a01b03808316911614610c4757600080fd5b6001600160a01b03841660009081526020819052604090205491505b5092915050565b6004546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e31b90811614610ca157600080fd5b60015482906001600160a01b03808316911614610cbd57600080fd5b6004546001600160a01b031615610cd357600080fd5b6001600160a01b038416610ce657600080fd5b600480546001600160a01b0319166001600160a01b0386811691821783556001546040805163f2fde38b60e01b815294850193909352915191169163f2fde38b91602480830192600092919082900301818387803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050836001600160a01b0316600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610db757600080fd5b505afa158015610dcb573d6000803e3d6000fd5b505050506040513d6020811015610de157600080fd5b50516001600160a01b031614610df657600080fd5b60025460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610e3a57600080fd5b505afa158015610e4e573d6000803e3d6000fd5b505050506040513d6020811015610e6457600080fd5b50516001600160a01b03161415610f72576002546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b158015610ec357600080fd5b505af1158015610ed7573d6000803e3d6000fd5b50505050836001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3357600080fd5b505afa158015610f47573d6000803e3d6000fd5b505050506040513d6020811015610f5d57600080fd5b50516001600160a01b031614610f7257600080fd5b60035460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610fb657600080fd5b505afa158015610fca573d6000803e3d6000fd5b505050506040513d6020811015610fe057600080fd5b50516001600160a01b031614156110ee576003546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b50505050836001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d60208110156110d957600080fd5b50516001600160a01b0316146110ee57600080fd5b600454604080516001600160a01b039290921682525130917fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd919081900360200190a25060019392505050565b6005818154811061114857fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b3360009081526020819052604081206001015460e01b600160e21b9081161461119857600080fd5b60015482906001600160a01b038083169116146111b457600080fd5b6111bc6138d1565b6111c46138d1565b6000866001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d602081101561122b57600080fd5b5051905060008082600281111561123e57fe5b14806112555750600282600281111561125357fe5b145b15611399576001600160a01b0388166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152909450611399576001600580549050038460200151101561135a576005805460001981019081106112c257fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600580549295508592909190811061130a57fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600790526040909120909101555b600580549061136d9060001983016138e8565b50506001600160a01b0387166000908152600760205260408120805460ff191681556001908101919091555b60018260028111156113a757fe5b14806113be575060028260028111156113bc57fe5b145b15611502576001600160a01b0388166000908152600860209081526040918290208251808401909352805460ff1615801584526001909101549183019190915290945061150257600160068054905003846020015110156114c35760068054600019810190811061142b57fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600680549295508592909190811061147357fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600890526040909120909101555b60068054906114d69060001983016138e8565b50506001600160a01b0387166000908152600860205260408120805460ff191681556001908101919091555b80156115605760208401516001600160a01b038916907fcdf1a50ea6b7de555bd409f8a4a53ea43c6dc6b4caa961889da9e005f21bbaa990600085600281111561154857fe5b60408051938452911460208301528051918290030190a25b979650505050505050565b3360009081526020819052604081206001015460e01b600160e01b9081161461159357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b6005548110156116a757600581815481106115ce57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061160157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561166a57600080fd5b505af115801561167e573d6000803e3d6000fd5b505050506040513d602081101561169457600080fd5b505161169f57600080fd5b6001016115b7565b60015484906001600160a01b038083169116146116c357600080fd5b6001546040805163ab751f7160e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163ab751f719160648083019260209291908290030181600087803b15801561172157600080fd5b505af1158015611735573d6000803e3d6000fd5b505050506040513d602081101561174b57600080fd5b5051935050600090505b600654811015611845576006818154811061176c57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061179f57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050506040513d602081101561183257600080fd5b505161183d57600080fd5b600101611755565b5050949350505050565b6001546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e01b9081161461188657600080fd5b6839b2b73222ba3432b960b91b60005b60055481101561198657600581815481106118ad57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106118e057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561194957600080fd5b505af115801561195d573d6000803e3d6000fd5b505050506040513d602081101561197357600080fd5b505161197e57600080fd5b600101611896565b60015484906001600160a01b038083169116146119a257600080fd5b6001546040805163658b6a5160e11b8152600481018a90526001600160a01b0389811660248301529151919092169163cb16d4a29160448083019260209291908290030181600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506040513d6020811015611a2257600080fd5b5051935050600090505b600654811015611b1c5760068181548110611a4357fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611a7657fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611adf57600080fd5b505af1158015611af3573d6000803e3d6000fd5b505050506040513d6020811015611b0957600080fd5b5051611b1457600080fd5b600101611a2c565b50509392505050565b3360009081526020819052604081206001015460e01b600160e01b90811614611b4d57600080fd5b696d696e74546f6b656e7360b01b60005b600554811015611c4e5760058181548110611b7557fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611ba857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611c1157600080fd5b505af1158015611c25573d6000803e3d6000fd5b505050506040513d6020811015611c3b57600080fd5b5051611c4657600080fd5b600101611b5e565b60015484906001600160a01b03808316911614611c6a57600080fd5b6040805188815290516001600160a01b0388169133917f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e9181900360200190a3600254604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b158015611d0057600080fd5b505af1158015611d14573d6000803e3d6000fd5b505050506040513d6020811015611d2a57600080fd5b5051935050600090505b600654811015611b1c5760068181548110611d4b57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611d7e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611de757600080fd5b505af1158015611dfb573d6000803e3d6000fd5b505050506040513d6020811015611e1157600080fd5b5051611e1c57600080fd5b600101611d34565b60015460009082906001600160a01b03808316911614611e4357600080fd5b611e4c336138a5565b611e595760009150611ea5565b33600081815260208190526040808220828155600101805463ffffffff191690555182917f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf91a3600191505b50919050565b3360009081526020819052604081206001015460e01b600160e01b90811614611ed357600080fd5b6d313ab9372932b83aba30ba34b7b760911b60005b600554811015611fd85760058181548110611eff57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611f3257fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611f9b57600080fd5b505af1158015611faf573d6000803e3d6000fd5b505050506040513d6020811015611fc557600080fd5b5051611fd057600080fd5b600101611ee8565b60015484906001600160a01b03808316911614611ff457600080fd5b6040805188815290516001600160a01b0388169133917f186d8887e1b22f9d9b16849c36baa748950d09d9c9b67a4a6ea140eaad00c21c9181900360200190a360035460408051632770a7eb60e21b81526001600160a01b038981166004830152602482018b905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561208a57600080fd5b505af115801561209e573d6000803e3d6000fd5b505050506040513d60208110156120b457600080fd5b5051935050600090505b600654811015611b1c57600681815481106120d557fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061210857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561217157600080fd5b505af1158015612185573d6000803e3d6000fd5b505050506040513d602081101561219b57600080fd5b50516121a657600080fd5b6001016120be565b6008602052600090815260409020805460019091015460ff9091169082565b600154600090819083906001600160a01b038083169116146121ee57600080fd5b600554600654909350915050915091565b6003546001600160a01b031681565b60015460009082906001600160a01b0380831691161461222d57600080fd5b50506003546001600160a01b0316919050565b60015460009082906001600160a01b0380831691161461225f57600080fd5b5050506001600160a01b031660009081526020819052604090206001015460e01b90565b60015460009082906001600160a01b038083169116146122a257600080fd5b6122ab846138a5565b949350505050565b3360009081526020819052604081206001015460e01b600160e01b908116146122db57600080fd5b7432bc3a32b93730b62a37b5b2b72a3930b739b332b960591b60005b6005548110156123e7576005818154811061230e57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061234157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156123aa57600080fd5b505af11580156123be573d6000803e3d6000fd5b505050506040513d60208110156123d457600080fd5b50516123df57600080fd5b6001016122f7565b60015484906001600160a01b0380831691161461240357600080fd5b6001546040805163dab0efff60e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d602081101561248b57600080fd5b5051935050600090505b60065481101561184557600681815481106124ac57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106124df57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561254857600080fd5b505af115801561255c573d6000803e3d6000fd5b505050506040513d602081101561257257600080fd5b505161257d57600080fd5b600101612495565b3360009081526020819052604081206001015460e01b600160e41b908116146125ad57600080fd5b60015482906001600160a01b038083169116146125c957600080fd5b600154604051632242b11b60e21b8152602060048201908152602482018790526001600160a01b039092169163890ac46c91889188918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561264057600080fd5b505af1158015612654573d6000803e3d6000fd5b505050506040513d602081101561266a57600080fd5b505195945050505050565b3360009081526020819052604081206001015460609060e01b600160e41b908116146126a057600080fd5b6a19d95b995c9a58d0d85b1b60aa1b60005b6005548110156127a257600581815481106126c957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106126fc57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561276557600080fd5b505af1158015612779573d6000803e3d6000fd5b505050506040513d602081101561278f57600080fd5b505161279a57600080fd5b6001016126b2565b60015486906001600160a01b038083169116146127be57600080fd5b60015460405163057e2c8b60e31b81526001600160a01b038c811660048301908152604483018a9052606060248401908152606484018d90529190931692632bf16458928e928e928e928d9290608401858580828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561284c57600080fd5b505af1158015612860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561288957600080fd5b8151602083018051604051929492938301929190846401000000008211156128b057600080fd5b9083019060208201858111156128c557600080fd5b82516401000000008111828201881017156128df57600080fd5b82525081516020918201929091019080838360005b8381101561290c5781810151838201526020016128f4565b50505050905090810190601f1680156129395780820380516001836020036101000a031916815260200191505b506040525050509450945050600090505b600654811015612a3a576006818154811061296157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061299457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156129fd57600080fd5b505af1158015612a11573d6000803e3d6000fd5b505050506040513d6020811015612a2757600080fd5b5051612a3257600080fd5b60010161294a565b50509550959350505050565b6000602081905290815260409020805460019091015460e01b82565b6000612a6c6138d1565b506001600160a01b0383166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152612ad7576005816020015181548110612abd57fe5b906000526020600020906002020160010154915050612b28565b506001600160a01b0383166000908152600860209081526040918290208251808401909352805460ff16158015845260019091015491830191909152610c63576006816020015181548110612abd57fe5b92915050565b6002546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e21b90811614612b6557600080fd5b60015482906001600160a01b03808316911614612b8157600080fd5b6000856001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050506040513d6020811015612be857600080fd5b505190506000816002811115612bfa57fe5b1480612c1157506002816002811115612c0f57fe5b145b15612d49576001600160a01b03861660009081526007602052604090205460ff16612d08576040805180820182526001600160a01b0388811680835260208084018a81526005805460018082018355600083815297517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0600290930292830180546001600160a01b031916919098161790965591517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db190920191909155855180870187528481529054600019018183019081529285526007909152939092209251835460ff19169015151783559051910155612d49565b6001600160a01b038616600090815260076020526040902060010154600580548792908110612d3357fe5b9060005260206000209060020201600101819055505b6001816002811115612d5757fe5b1480612d6e57506002816002811115612d6c57fe5b145b15612ea6576001600160a01b03861660009081526008602052604090205460ff16612e65576040805180820182526001600160a01b0388811680835260208084018a81526006805460018082018355600083815297517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290930292830180546001600160a01b031916919098161790965591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4090920191909155855180870187528481529054600019018183019081529285526008909152939092209251835460ff19169015151783559051910155612ea6565b6001600160a01b038616600090815260086020526040902060010154600680548792908110612e9057fe5b9060005260206000209060020201600101819055505b856001600160a01b03167f78800d7333b8d0174a0845569e3913b7ce4a3c03ca444dd9904172fc14f2fdad868360405180838152602001826002811115612ee957fe5b60ff1681526020019250505060405180910390a250600195945050505050565b3360009081526020819052604081206001015460e01b600160e11b90811614612f3157600080fd5b6d7265676973746572536368656d6560901b60005b6005548110156130365760058181548110612f5d57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110612f9057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050506040513d602081101561302357600080fd5b505161302e57600080fd5b600101612f46565b60015484906001600160a01b0380831691161461305257600080fd5b61305a6138d1565b506001600160a01b03881660009081526020818152604080832081518083018352815481526001918201546001600160e01b031960e091821b16828601908152338752948690529290942001549151891891901b1916601f60e01b16156130c057600080fd5b336000908152602081815260409091206001015490820151601f60e01b60e09290921b191616156130f057600080fd5b6001600160a01b0389166000818152602081905260408082208b8155600101805463ffffffff1916600160e01b8c1760e01c1790555133917f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc91a3600194505050600090505b600654811015611845576006818154811061316d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106131a057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561320957600080fd5b505af115801561321d573d6000803e3d6000fd5b505050506040513d602081101561323357600080fd5b505161323e57600080fd5b600101613156565b6006818154811061114857fe5b3360009081526020819052604081206001015460e01b600160e01b9081161461327b57600080fd5b6d36b4b73a2932b83aba30ba34b7b760911b60005b60055481101561338057600581815481106132a757fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106132da57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561334357600080fd5b505af1158015613357573d6000803e3d6000fd5b505050506040513d602081101561336d57600080fd5b505161337857600080fd5b600101613290565b60015484906001600160a01b0380831691161461339c57600080fd5b6040805188815290516001600160a01b0388169133917f837f2931e3df0592458212be4e470025f197feb7a8e39deb5b7f1f1d42e6f2629181900360200190a3600354604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b15801561343257600080fd5b505af1158015613446573d6000803e3d6000fd5b505050506040513d602081101561345c57600080fd5b5051935050600090505b600654811015611b1c576006818154811061347d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106134b057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561351957600080fd5b505af115801561352d573d6000803e3d6000fd5b505050506040513d602081101561354357600080fd5b505161354e57600080fd5b600101613466565b60015460009082906001600160a01b0380831691161461357557600080fd5b6001600160a01b03841660009081526007602052604090205460ff16806122ab57505050506001600160a01b031660009081526008602052604090205460ff1690565b3360009081526020819052604081206001015460e01b600160e01b908116146135e057600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b6005548110156136f4576005818154811061361b57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061364e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156136b757600080fd5b505af11580156136cb573d6000803e3d6000fd5b505050506040513d60208110156136e157600080fd5b50516136ec57600080fd5b600101613604565b60015484906001600160a01b0380831691161461371057600080fd5b60015460408051635bab6ad160e11b81526001600160a01b038c811660048301528b811660248301528a81166044830152606482018a90529151919092169163b756d5a29160848083019260209291908290030181600087803b15801561377657600080fd5b505af115801561378a573d6000803e3d6000fd5b505050506040513d60208110156137a057600080fd5b5051935050600090505b60065481101561389a57600681815481106137c157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106137f457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561385d57600080fd5b505af1158015613871573d6000803e3d6000fd5b505050506040513d602081101561388757600080fd5b505161389257600080fd5b6001016137aa565b505095945050505050565b6001600160a01b03811660009081526020819052604090206001015460e01b600160e01b161515919050565b604080518082019091526000808252602082015290565b815481835581811115613914576002028160020283600052602060002091820191016139149190613919565b505050565b61394891905b808211156139445780546001600160a01b03191681556000600182015560020161391f565b5090565b9056fea265627a7a72315820e24f53a60e08174f344f06c6323782119468bb158908810e117194088d5111ca64736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806389ae1c901161010f578063e08738da116100a2578063e8c98b2211610071578063e8c98b221461083e578063eaf994b21461085b578063f76488be1461088f578063fb4856a2146108bd576101e5565b8063e08738da1461078e578063e1758bd8146107bc578063e4537a74146107c4578063e869d45f146107fa576101e5565b8063b9a04cdd116100de578063b9a04cdd1461057f578063c9b62eb1146105bb578063d1b7089a14610634578063db6149ce14610746576101e5565b806389ae1c90146104d85780638da03997146104e05780639b51e35a146105065780639be2faed14610551576101e5565b806351803cd8116101875780636c525b13116101565780636c525b13146104195780636e94d2781461043f578063814784f614610473578063824f2f1f14610499576101e5565b806351803cd81461036d5780635aef7de6146103a9578063634965da146103b15780636407e432146103e5576101e5565b80633a02263c116101c35780633a02263c146102ad57806342427bf8146102d15780634422d372146102ff5780634f52b5be1461033f576101e5565b8063039de01d146101ea578063177eebb01461022c5780631c4d56081461026d575b600080fd5b6102186004803603604081101561020057600080fd5b506001600160a01b0381358116916020013516610903565b604080519115158252519081900360200190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b0316610c09565b60408051921515835260208301919091528051918290030190f35b61029b6004803603604081101561028357600080fd5b506001600160a01b0381358116916020013516610c28565b60408051918252519081900360200190f35b6102b5610c6a565b604080516001600160a01b039092168252519081900360200190f35b610218600480360360408110156102e757600080fd5b506001600160a01b0381358116916020013516610c79565b61031c6004803603602081101561031557600080fd5b503561113b565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6102186004803603604081101561035557600080fd5b506001600160a01b0381358116916020013516611170565b6102186004803603608081101561038357600080fd5b506001600160a01b0381358116916020810135821691604082013591606001351661156b565b6102b561184f565b610218600480360360608110156103c757600080fd5b508035906001600160a01b036020820135811691604001351661185e565b610218600480360360608110156103fb57600080fd5b508035906001600160a01b0360208201358116916040013516611b25565b6102186004803603602081101561042f57600080fd5b50356001600160a01b0316611e24565b6102186004803603606081101561045557600080fd5b508035906001600160a01b0360208201358116916040013516611eab565b6102526004803603602081101561048957600080fd5b50356001600160a01b03166121ae565b6104bf600480360360208110156104af57600080fd5b50356001600160a01b03166121cd565b6040805192835260208301919091528051918290030190f35b6102b56121ff565b6102b5600480360360208110156104f657600080fd5b50356001600160a01b031661220e565b6105346004803603604081101561051c57600080fd5b506001600160a01b0381358116916020013516612240565b604080516001600160e01b03199092168252519081900360200190f35b6102186004803603604081101561056757600080fd5b506001600160a01b0381358116916020013516612283565b6102186004803603608081101561059557600080fd5b506001600160a01b038135811691602081013582169160408201359160600135166122b3565b610218600480360360408110156105d157600080fd5b8101906020810181356401000000008111156105ec57600080fd5b8201836020820111156105fe57600080fd5b8035906020019184600183028401116401000000008311171561062057600080fd5b9193509150356001600160a01b0316612585565b6106c36004803603608081101561064a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460018302840111640100000000831117156106a957600080fd5b91935091506001600160a01b038135169060200135612675565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561070a5781810151838201526020016106f2565b50505050905090810190601f1680156107375780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61076c6004803603602081101561075c57600080fd5b50356001600160a01b0316612a46565b604080519283526001600160e01b031990911660208301528051918290030190f35b61029b600480360360408110156107a457600080fd5b506001600160a01b0381358116916020013516612a62565b6102b5612b2e565b610218600480360360608110156107da57600080fd5b506001600160a01b03813581169160208101359160409091013516612b3d565b6102186004803603608081101561081057600080fd5b506001600160a01b0381358116916020810135916001600160e01b0319604083013516916060013516612f09565b61031c6004803603602081101561085457600080fd5b5035613246565b6102186004803603606081101561087157600080fd5b508035906001600160a01b0360208201358116916040013516613253565b610218600480360360408110156108a557600080fd5b506001600160a01b0381358116916020013516613556565b610218600480360360a08110156108d357600080fd5b506001600160a01b03813581169160208101358216916040820135811691606081013591608090910135166135b8565b3360009081526020819052604081206001015460e01b600160e11b9081161461092b57600080fd5b6f756e7265676973746572536368656d6560801b60005b600554811015610a32576005818154811061095957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061098c57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050506040513d6020811015610a1f57600080fd5b5051610a2a57600080fd5b600101610942565b60015484906001600160a01b03808316911614610a4e57600080fd5b610a57866138a5565b610a645760009350610b0b565b336000908152602081905260408082206001908101546001600160a01b038a168452919092209091015460e091821b19911b16601f60e01b1615610aa757600080fd5b6040516001600160a01b0387169033907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf90600090a36001600160a01b03861660009081526020819052604081209081556001908101805463ffffffff1916905593505b50600090505b600654811015610c015760068181548110610b2857fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110610b5b57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b505050506040513d6020811015610bee57600080fd5b5051610bf957600080fd5b600101610b11565b505092915050565b6007602052600090815260409020805460019091015460ff9091169082565b60015460009082906001600160a01b03808316911614610c4757600080fd5b6001600160a01b03841660009081526020819052604090205491505b5092915050565b6004546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e31b90811614610ca157600080fd5b60015482906001600160a01b03808316911614610cbd57600080fd5b6004546001600160a01b031615610cd357600080fd5b6001600160a01b038416610ce657600080fd5b600480546001600160a01b0319166001600160a01b0386811691821783556001546040805163f2fde38b60e01b815294850193909352915191169163f2fde38b91602480830192600092919082900301818387803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050836001600160a01b0316600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610db757600080fd5b505afa158015610dcb573d6000803e3d6000fd5b505050506040513d6020811015610de157600080fd5b50516001600160a01b031614610df657600080fd5b60025460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610e3a57600080fd5b505afa158015610e4e573d6000803e3d6000fd5b505050506040513d6020811015610e6457600080fd5b50516001600160a01b03161415610f72576002546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b158015610ec357600080fd5b505af1158015610ed7573d6000803e3d6000fd5b50505050836001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3357600080fd5b505afa158015610f47573d6000803e3d6000fd5b505050506040513d6020811015610f5d57600080fd5b50516001600160a01b031614610f7257600080fd5b60035460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610fb657600080fd5b505afa158015610fca573d6000803e3d6000fd5b505050506040513d6020811015610fe057600080fd5b50516001600160a01b031614156110ee576003546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b50505050836001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d60208110156110d957600080fd5b50516001600160a01b0316146110ee57600080fd5b600454604080516001600160a01b039290921682525130917fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd919081900360200190a25060019392505050565b6005818154811061114857fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b3360009081526020819052604081206001015460e01b600160e21b9081161461119857600080fd5b60015482906001600160a01b038083169116146111b457600080fd5b6111bc6138d1565b6111c46138d1565b6000866001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d602081101561122b57600080fd5b5051905060008082600281111561123e57fe5b14806112555750600282600281111561125357fe5b145b15611399576001600160a01b0388166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152909450611399576001600580549050038460200151101561135a576005805460001981019081106112c257fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600580549295508592909190811061130a57fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600790526040909120909101555b600580549061136d9060001983016138e8565b50506001600160a01b0387166000908152600760205260408120805460ff191681556001908101919091555b60018260028111156113a757fe5b14806113be575060028260028111156113bc57fe5b145b15611502576001600160a01b0388166000908152600860209081526040918290208251808401909352805460ff1615801584526001909101549183019190915290945061150257600160068054905003846020015110156114c35760068054600019810190811061142b57fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600680549295508592909190811061147357fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600890526040909120909101555b60068054906114d69060001983016138e8565b50506001600160a01b0387166000908152600860205260408120805460ff191681556001908101919091555b80156115605760208401516001600160a01b038916907fcdf1a50ea6b7de555bd409f8a4a53ea43c6dc6b4caa961889da9e005f21bbaa990600085600281111561154857fe5b60408051938452911460208301528051918290030190a25b979650505050505050565b3360009081526020819052604081206001015460e01b600160e01b9081161461159357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b6005548110156116a757600581815481106115ce57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061160157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561166a57600080fd5b505af115801561167e573d6000803e3d6000fd5b505050506040513d602081101561169457600080fd5b505161169f57600080fd5b6001016115b7565b60015484906001600160a01b038083169116146116c357600080fd5b6001546040805163ab751f7160e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163ab751f719160648083019260209291908290030181600087803b15801561172157600080fd5b505af1158015611735573d6000803e3d6000fd5b505050506040513d602081101561174b57600080fd5b5051935050600090505b600654811015611845576006818154811061176c57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061179f57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050506040513d602081101561183257600080fd5b505161183d57600080fd5b600101611755565b5050949350505050565b6001546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e01b9081161461188657600080fd5b6839b2b73222ba3432b960b91b60005b60055481101561198657600581815481106118ad57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106118e057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561194957600080fd5b505af115801561195d573d6000803e3d6000fd5b505050506040513d602081101561197357600080fd5b505161197e57600080fd5b600101611896565b60015484906001600160a01b038083169116146119a257600080fd5b6001546040805163658b6a5160e11b8152600481018a90526001600160a01b0389811660248301529151919092169163cb16d4a29160448083019260209291908290030181600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506040513d6020811015611a2257600080fd5b5051935050600090505b600654811015611b1c5760068181548110611a4357fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611a7657fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611adf57600080fd5b505af1158015611af3573d6000803e3d6000fd5b505050506040513d6020811015611b0957600080fd5b5051611b1457600080fd5b600101611a2c565b50509392505050565b3360009081526020819052604081206001015460e01b600160e01b90811614611b4d57600080fd5b696d696e74546f6b656e7360b01b60005b600554811015611c4e5760058181548110611b7557fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611ba857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611c1157600080fd5b505af1158015611c25573d6000803e3d6000fd5b505050506040513d6020811015611c3b57600080fd5b5051611c4657600080fd5b600101611b5e565b60015484906001600160a01b03808316911614611c6a57600080fd5b6040805188815290516001600160a01b0388169133917f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e9181900360200190a3600254604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b158015611d0057600080fd5b505af1158015611d14573d6000803e3d6000fd5b505050506040513d6020811015611d2a57600080fd5b5051935050600090505b600654811015611b1c5760068181548110611d4b57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611d7e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611de757600080fd5b505af1158015611dfb573d6000803e3d6000fd5b505050506040513d6020811015611e1157600080fd5b5051611e1c57600080fd5b600101611d34565b60015460009082906001600160a01b03808316911614611e4357600080fd5b611e4c336138a5565b611e595760009150611ea5565b33600081815260208190526040808220828155600101805463ffffffff191690555182917f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf91a3600191505b50919050565b3360009081526020819052604081206001015460e01b600160e01b90811614611ed357600080fd5b6d313ab9372932b83aba30ba34b7b760911b60005b600554811015611fd85760058181548110611eff57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611f3257fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611f9b57600080fd5b505af1158015611faf573d6000803e3d6000fd5b505050506040513d6020811015611fc557600080fd5b5051611fd057600080fd5b600101611ee8565b60015484906001600160a01b03808316911614611ff457600080fd5b6040805188815290516001600160a01b0388169133917f186d8887e1b22f9d9b16849c36baa748950d09d9c9b67a4a6ea140eaad00c21c9181900360200190a360035460408051632770a7eb60e21b81526001600160a01b038981166004830152602482018b905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561208a57600080fd5b505af115801561209e573d6000803e3d6000fd5b505050506040513d60208110156120b457600080fd5b5051935050600090505b600654811015611b1c57600681815481106120d557fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061210857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561217157600080fd5b505af1158015612185573d6000803e3d6000fd5b505050506040513d602081101561219b57600080fd5b50516121a657600080fd5b6001016120be565b6008602052600090815260409020805460019091015460ff9091169082565b600154600090819083906001600160a01b038083169116146121ee57600080fd5b600554600654909350915050915091565b6003546001600160a01b031681565b60015460009082906001600160a01b0380831691161461222d57600080fd5b50506003546001600160a01b0316919050565b60015460009082906001600160a01b0380831691161461225f57600080fd5b5050506001600160a01b031660009081526020819052604090206001015460e01b90565b60015460009082906001600160a01b038083169116146122a257600080fd5b6122ab846138a5565b949350505050565b3360009081526020819052604081206001015460e01b600160e01b908116146122db57600080fd5b7432bc3a32b93730b62a37b5b2b72a3930b739b332b960591b60005b6005548110156123e7576005818154811061230e57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061234157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156123aa57600080fd5b505af11580156123be573d6000803e3d6000fd5b505050506040513d60208110156123d457600080fd5b50516123df57600080fd5b6001016122f7565b60015484906001600160a01b0380831691161461240357600080fd5b6001546040805163dab0efff60e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d602081101561248b57600080fd5b5051935050600090505b60065481101561184557600681815481106124ac57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106124df57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561254857600080fd5b505af115801561255c573d6000803e3d6000fd5b505050506040513d602081101561257257600080fd5b505161257d57600080fd5b600101612495565b3360009081526020819052604081206001015460e01b600160e41b908116146125ad57600080fd5b60015482906001600160a01b038083169116146125c957600080fd5b600154604051632242b11b60e21b8152602060048201908152602482018790526001600160a01b039092169163890ac46c91889188918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561264057600080fd5b505af1158015612654573d6000803e3d6000fd5b505050506040513d602081101561266a57600080fd5b505195945050505050565b3360009081526020819052604081206001015460609060e01b600160e41b908116146126a057600080fd5b6a19d95b995c9a58d0d85b1b60aa1b60005b6005548110156127a257600581815481106126c957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106126fc57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561276557600080fd5b505af1158015612779573d6000803e3d6000fd5b505050506040513d602081101561278f57600080fd5b505161279a57600080fd5b6001016126b2565b60015486906001600160a01b038083169116146127be57600080fd5b60015460405163057e2c8b60e31b81526001600160a01b038c811660048301908152604483018a9052606060248401908152606484018d90529190931692632bf16458928e928e928e928d9290608401858580828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561284c57600080fd5b505af1158015612860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561288957600080fd5b8151602083018051604051929492938301929190846401000000008211156128b057600080fd5b9083019060208201858111156128c557600080fd5b82516401000000008111828201881017156128df57600080fd5b82525081516020918201929091019080838360005b8381101561290c5781810151838201526020016128f4565b50505050905090810190601f1680156129395780820380516001836020036101000a031916815260200191505b506040525050509450945050600090505b600654811015612a3a576006818154811061296157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061299457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156129fd57600080fd5b505af1158015612a11573d6000803e3d6000fd5b505050506040513d6020811015612a2757600080fd5b5051612a3257600080fd5b60010161294a565b50509550959350505050565b6000602081905290815260409020805460019091015460e01b82565b6000612a6c6138d1565b506001600160a01b0383166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152612ad7576005816020015181548110612abd57fe5b906000526020600020906002020160010154915050612b28565b506001600160a01b0383166000908152600860209081526040918290208251808401909352805460ff16158015845260019091015491830191909152610c63576006816020015181548110612abd57fe5b92915050565b6002546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e21b90811614612b6557600080fd5b60015482906001600160a01b03808316911614612b8157600080fd5b6000856001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050506040513d6020811015612be857600080fd5b505190506000816002811115612bfa57fe5b1480612c1157506002816002811115612c0f57fe5b145b15612d49576001600160a01b03861660009081526007602052604090205460ff16612d08576040805180820182526001600160a01b0388811680835260208084018a81526005805460018082018355600083815297517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0600290930292830180546001600160a01b031916919098161790965591517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db190920191909155855180870187528481529054600019018183019081529285526007909152939092209251835460ff19169015151783559051910155612d49565b6001600160a01b038616600090815260076020526040902060010154600580548792908110612d3357fe5b9060005260206000209060020201600101819055505b6001816002811115612d5757fe5b1480612d6e57506002816002811115612d6c57fe5b145b15612ea6576001600160a01b03861660009081526008602052604090205460ff16612e65576040805180820182526001600160a01b0388811680835260208084018a81526006805460018082018355600083815297517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290930292830180546001600160a01b031916919098161790965591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4090920191909155855180870187528481529054600019018183019081529285526008909152939092209251835460ff19169015151783559051910155612ea6565b6001600160a01b038616600090815260086020526040902060010154600680548792908110612e9057fe5b9060005260206000209060020201600101819055505b856001600160a01b03167f78800d7333b8d0174a0845569e3913b7ce4a3c03ca444dd9904172fc14f2fdad868360405180838152602001826002811115612ee957fe5b60ff1681526020019250505060405180910390a250600195945050505050565b3360009081526020819052604081206001015460e01b600160e11b90811614612f3157600080fd5b6d7265676973746572536368656d6560901b60005b6005548110156130365760058181548110612f5d57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110612f9057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050506040513d602081101561302357600080fd5b505161302e57600080fd5b600101612f46565b60015484906001600160a01b0380831691161461305257600080fd5b61305a6138d1565b506001600160a01b03881660009081526020818152604080832081518083018352815481526001918201546001600160e01b031960e091821b16828601908152338752948690529290942001549151891891901b1916601f60e01b16156130c057600080fd5b336000908152602081815260409091206001015490820151601f60e01b60e09290921b191616156130f057600080fd5b6001600160a01b0389166000818152602081905260408082208b8155600101805463ffffffff1916600160e01b8c1760e01c1790555133917f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc91a3600194505050600090505b600654811015611845576006818154811061316d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106131a057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561320957600080fd5b505af115801561321d573d6000803e3d6000fd5b505050506040513d602081101561323357600080fd5b505161323e57600080fd5b600101613156565b6006818154811061114857fe5b3360009081526020819052604081206001015460e01b600160e01b9081161461327b57600080fd5b6d36b4b73a2932b83aba30ba34b7b760911b60005b60055481101561338057600581815481106132a757fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106132da57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561334357600080fd5b505af1158015613357573d6000803e3d6000fd5b505050506040513d602081101561336d57600080fd5b505161337857600080fd5b600101613290565b60015484906001600160a01b0380831691161461339c57600080fd5b6040805188815290516001600160a01b0388169133917f837f2931e3df0592458212be4e470025f197feb7a8e39deb5b7f1f1d42e6f2629181900360200190a3600354604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b15801561343257600080fd5b505af1158015613446573d6000803e3d6000fd5b505050506040513d602081101561345c57600080fd5b5051935050600090505b600654811015611b1c576006818154811061347d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106134b057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561351957600080fd5b505af115801561352d573d6000803e3d6000fd5b505050506040513d602081101561354357600080fd5b505161354e57600080fd5b600101613466565b60015460009082906001600160a01b0380831691161461357557600080fd5b6001600160a01b03841660009081526007602052604090205460ff16806122ab57505050506001600160a01b031660009081526008602052604090205460ff1690565b3360009081526020819052604081206001015460e01b600160e01b908116146135e057600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b6005548110156136f4576005818154811061361b57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061364e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156136b757600080fd5b505af11580156136cb573d6000803e3d6000fd5b505050506040513d60208110156136e157600080fd5b50516136ec57600080fd5b600101613604565b60015484906001600160a01b0380831691161461371057600080fd5b60015460408051635bab6ad160e11b81526001600160a01b038c811660048301528b811660248301528a81166044830152606482018a90529151919092169163b756d5a29160848083019260209291908290030181600087803b15801561377657600080fd5b505af115801561378a573d6000803e3d6000fd5b505050506040513d60208110156137a057600080fd5b5051935050600090505b60065481101561389a57600681815481106137c157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106137f457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561385d57600080fd5b505af1158015613871573d6000803e3d6000fd5b505050506040513d602081101561388757600080fd5b505161389257600080fd5b6001016137aa565b505095945050505050565b6001600160a01b03811660009081526020819052604090206001015460e01b600160e01b161515919050565b604080518082019091526000808252602082015290565b815481835581811115613914576002028160020283600052602060002091820191016139149190613919565b505050565b61394891905b808211156139445780546001600160a01b03191681556000600182015560020161391f565b5090565b9056fea265627a7a72315820e24f53a60e08174f344f06c6323782119468bb158908810e117194088d5111ca64736f6c63430005110032", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "DxController", + "sourceName": "dxdao-contracts/contracts/dxdao/DxController.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_globalConstraint", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "_params", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "enum GlobalConstraintInterface.CallPhase", + "name": "_when", + "type": "uint8" + } + ], + "name": "AddGlobalConstraint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "BurnReputation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "MintReputation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "MintTokens", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_scheme", + "type": "address" + } + ], + "name": "RegisterScheme", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_globalConstraint", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_isPre", + "type": "bool" + } + ], + "name": "RemoveGlobalConstraint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_scheme", + "type": "address" + } + ], + "name": "UnregisterScheme", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_oldController", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newController", + "type": "address" + } + ], + "name": "UpgradeController", + "type": "event" + }, + { + "payable": false, + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_globalConstraint", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_params", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "addGlobalConstraint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "avatar", + "outputs": [ + { + "internalType": "contract Avatar", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "burnReputation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_externalToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + } + ], + "name": "externalTokenApproval", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_externalToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + } + ], + "name": "externalTokenTransfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract IERC20", + "name": "_externalToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + } + ], + "name": "externalTokenTransferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_contract", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + }, + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "genericCall", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_globalConstraint", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "getGlobalConstraintParameters", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "getNativeReputation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_scheme", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "getSchemeParameters", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_scheme", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "getSchemePermissions", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "globalConstraintsCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "globalConstraintsPost", + "outputs": [ + { + "internalType": "address", + "name": "gcAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "params", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "globalConstraintsPre", + "outputs": [ + { + "internalType": "address", + "name": "gcAddress", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "params", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "globalConstraintsRegisterPost", + "outputs": [ + { + "internalType": "bool", + "name": "isRegistered", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "globalConstraintsRegisterPre", + "outputs": [ + { + "internalType": "bool", + "name": "isRegistered", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_globalConstraint", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "isGlobalConstraintRegistered", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_scheme", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "isSchemeRegistered", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "_metaData", + "type": "string" + }, + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + } + ], + "name": "metaData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "mintReputation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "mintTokens", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeReputation", + "outputs": [ + { + "internalType": "contract Reputation", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "outputs": [ + { + "internalType": "contract DAOToken", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newController", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_scheme", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_paramsHash", + "type": "bytes32" + }, + { + "internalType": "bytes4", + "name": "_permissions", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "registerScheme", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_globalConstraint", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "removeGlobalConstraint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "schemes", + "outputs": [ + { + "internalType": "bytes32", + "name": "paramsHash", + "type": "bytes32" + }, + { + "internalType": "bytes4", + "name": "permissions", + "type": "bytes4" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_amountInWei", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_to", + "type": "address" + }, + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + } + ], + "name": "sendEther", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_scheme", + "type": "address" + }, + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "unregisterScheme", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_avatar", + "type": "address" + } + ], + "name": "unregisterSelf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newController", + "type": "address" + }, + { + "internalType": "contract Avatar", + "name": "_avatar", + "type": "address" + } + ], + "name": "upgradeController", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b5060405162003b4438038062003b44833981810160405260208110156200003757600080fd5b5051600180546001600160a01b0319166001600160a01b03808416919091179182905560408051631c2eb17b60e31b8152905184939092169163e1758bd891600480820192602092909190829003018186803b1580156200009757600080fd5b505afa158015620000ac573d6000803e3d6000fd5b505050506040513d6020811015620000c357600080fd5b5051600280546001600160a01b0319166001600160a01b039283161790556001546040805163089ae1c960e41b8152905191909216916389ae1c90916004808301926020929190829003018186803b1580156200011f57600080fd5b505afa15801562000134573d6000803e3d6000fd5b505050506040513d60208110156200014b57600080fd5b5051600380546001600160a01b0319166001600160a01b0390921691909117905550506040805180820182526000808252601f60e01b6020808401918252338352829052928120915182559151600191909101805463ffffffff191660e09290921c919091179055613980908190620001c490396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806389ae1c901161010f578063e08738da116100a2578063e8c98b2211610071578063e8c98b221461083e578063eaf994b21461085b578063f76488be1461088f578063fb4856a2146108bd576101e5565b8063e08738da1461078e578063e1758bd8146107bc578063e4537a74146107c4578063e869d45f146107fa576101e5565b8063b9a04cdd116100de578063b9a04cdd1461057f578063c9b62eb1146105bb578063d1b7089a14610634578063db6149ce14610746576101e5565b806389ae1c90146104d85780638da03997146104e05780639b51e35a146105065780639be2faed14610551576101e5565b806351803cd8116101875780636c525b13116101565780636c525b13146104195780636e94d2781461043f578063814784f614610473578063824f2f1f14610499576101e5565b806351803cd81461036d5780635aef7de6146103a9578063634965da146103b15780636407e432146103e5576101e5565b80633a02263c116101c35780633a02263c146102ad57806342427bf8146102d15780634422d372146102ff5780634f52b5be1461033f576101e5565b8063039de01d146101ea578063177eebb01461022c5780631c4d56081461026d575b600080fd5b6102186004803603604081101561020057600080fd5b506001600160a01b0381358116916020013516610903565b604080519115158252519081900360200190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b0316610c09565b60408051921515835260208301919091528051918290030190f35b61029b6004803603604081101561028357600080fd5b506001600160a01b0381358116916020013516610c28565b60408051918252519081900360200190f35b6102b5610c6a565b604080516001600160a01b039092168252519081900360200190f35b610218600480360360408110156102e757600080fd5b506001600160a01b0381358116916020013516610c79565b61031c6004803603602081101561031557600080fd5b503561113b565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6102186004803603604081101561035557600080fd5b506001600160a01b0381358116916020013516611170565b6102186004803603608081101561038357600080fd5b506001600160a01b0381358116916020810135821691604082013591606001351661156b565b6102b561184f565b610218600480360360608110156103c757600080fd5b508035906001600160a01b036020820135811691604001351661185e565b610218600480360360608110156103fb57600080fd5b508035906001600160a01b0360208201358116916040013516611b25565b6102186004803603602081101561042f57600080fd5b50356001600160a01b0316611e24565b6102186004803603606081101561045557600080fd5b508035906001600160a01b0360208201358116916040013516611eab565b6102526004803603602081101561048957600080fd5b50356001600160a01b03166121ae565b6104bf600480360360208110156104af57600080fd5b50356001600160a01b03166121cd565b6040805192835260208301919091528051918290030190f35b6102b56121ff565b6102b5600480360360208110156104f657600080fd5b50356001600160a01b031661220e565b6105346004803603604081101561051c57600080fd5b506001600160a01b0381358116916020013516612240565b604080516001600160e01b03199092168252519081900360200190f35b6102186004803603604081101561056757600080fd5b506001600160a01b0381358116916020013516612283565b6102186004803603608081101561059557600080fd5b506001600160a01b038135811691602081013582169160408201359160600135166122b3565b610218600480360360408110156105d157600080fd5b8101906020810181356401000000008111156105ec57600080fd5b8201836020820111156105fe57600080fd5b8035906020019184600183028401116401000000008311171561062057600080fd5b9193509150356001600160a01b0316612585565b6106c36004803603608081101561064a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460018302840111640100000000831117156106a957600080fd5b91935091506001600160a01b038135169060200135612675565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561070a5781810151838201526020016106f2565b50505050905090810190601f1680156107375780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61076c6004803603602081101561075c57600080fd5b50356001600160a01b0316612a46565b604080519283526001600160e01b031990911660208301528051918290030190f35b61029b600480360360408110156107a457600080fd5b506001600160a01b0381358116916020013516612a62565b6102b5612b2e565b610218600480360360608110156107da57600080fd5b506001600160a01b03813581169160208101359160409091013516612b3d565b6102186004803603608081101561081057600080fd5b506001600160a01b0381358116916020810135916001600160e01b0319604083013516916060013516612f09565b61031c6004803603602081101561085457600080fd5b5035613246565b6102186004803603606081101561087157600080fd5b508035906001600160a01b0360208201358116916040013516613253565b610218600480360360408110156108a557600080fd5b506001600160a01b0381358116916020013516613556565b610218600480360360a08110156108d357600080fd5b506001600160a01b03813581169160208101358216916040820135811691606081013591608090910135166135b8565b3360009081526020819052604081206001015460e01b600160e11b9081161461092b57600080fd5b6f756e7265676973746572536368656d6560801b60005b600554811015610a32576005818154811061095957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061098c57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050506040513d6020811015610a1f57600080fd5b5051610a2a57600080fd5b600101610942565b60015484906001600160a01b03808316911614610a4e57600080fd5b610a57866138a5565b610a645760009350610b0b565b336000908152602081905260408082206001908101546001600160a01b038a168452919092209091015460e091821b19911b16601f60e01b1615610aa757600080fd5b6040516001600160a01b0387169033907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf90600090a36001600160a01b03861660009081526020819052604081209081556001908101805463ffffffff1916905593505b50600090505b600654811015610c015760068181548110610b2857fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110610b5b57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b505050506040513d6020811015610bee57600080fd5b5051610bf957600080fd5b600101610b11565b505092915050565b6007602052600090815260409020805460019091015460ff9091169082565b60015460009082906001600160a01b03808316911614610c4757600080fd5b6001600160a01b03841660009081526020819052604090205491505b5092915050565b6004546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e31b90811614610ca157600080fd5b60015482906001600160a01b03808316911614610cbd57600080fd5b6004546001600160a01b031615610cd357600080fd5b6001600160a01b038416610ce657600080fd5b600480546001600160a01b0319166001600160a01b0386811691821783556001546040805163f2fde38b60e01b815294850193909352915191169163f2fde38b91602480830192600092919082900301818387803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050836001600160a01b0316600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610db757600080fd5b505afa158015610dcb573d6000803e3d6000fd5b505050506040513d6020811015610de157600080fd5b50516001600160a01b031614610df657600080fd5b60025460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610e3a57600080fd5b505afa158015610e4e573d6000803e3d6000fd5b505050506040513d6020811015610e6457600080fd5b50516001600160a01b03161415610f72576002546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b158015610ec357600080fd5b505af1158015610ed7573d6000803e3d6000fd5b50505050836001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3357600080fd5b505afa158015610f47573d6000803e3d6000fd5b505050506040513d6020811015610f5d57600080fd5b50516001600160a01b031614610f7257600080fd5b60035460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610fb657600080fd5b505afa158015610fca573d6000803e3d6000fd5b505050506040513d6020811015610fe057600080fd5b50516001600160a01b031614156110ee576003546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b50505050836001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d60208110156110d957600080fd5b50516001600160a01b0316146110ee57600080fd5b600454604080516001600160a01b039290921682525130917fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd919081900360200190a25060019392505050565b6005818154811061114857fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b3360009081526020819052604081206001015460e01b600160e21b9081161461119857600080fd5b60015482906001600160a01b038083169116146111b457600080fd5b6111bc6138d1565b6111c46138d1565b6000866001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d602081101561122b57600080fd5b5051905060008082600281111561123e57fe5b14806112555750600282600281111561125357fe5b145b15611399576001600160a01b0388166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152909450611399576001600580549050038460200151101561135a576005805460001981019081106112c257fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600580549295508592909190811061130a57fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600790526040909120909101555b600580549061136d9060001983016138e8565b50506001600160a01b0387166000908152600760205260408120805460ff191681556001908101919091555b60018260028111156113a757fe5b14806113be575060028260028111156113bc57fe5b145b15611502576001600160a01b0388166000908152600860209081526040918290208251808401909352805460ff1615801584526001909101549183019190915290945061150257600160068054905003846020015110156114c35760068054600019810190811061142b57fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600680549295508592909190811061147357fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600890526040909120909101555b60068054906114d69060001983016138e8565b50506001600160a01b0387166000908152600860205260408120805460ff191681556001908101919091555b80156115605760208401516001600160a01b038916907fcdf1a50ea6b7de555bd409f8a4a53ea43c6dc6b4caa961889da9e005f21bbaa990600085600281111561154857fe5b60408051938452911460208301528051918290030190a25b979650505050505050565b3360009081526020819052604081206001015460e01b600160e01b9081161461159357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b6005548110156116a757600581815481106115ce57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061160157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561166a57600080fd5b505af115801561167e573d6000803e3d6000fd5b505050506040513d602081101561169457600080fd5b505161169f57600080fd5b6001016115b7565b60015484906001600160a01b038083169116146116c357600080fd5b6001546040805163ab751f7160e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163ab751f719160648083019260209291908290030181600087803b15801561172157600080fd5b505af1158015611735573d6000803e3d6000fd5b505050506040513d602081101561174b57600080fd5b5051935050600090505b600654811015611845576006818154811061176c57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061179f57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050506040513d602081101561183257600080fd5b505161183d57600080fd5b600101611755565b5050949350505050565b6001546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e01b9081161461188657600080fd5b6839b2b73222ba3432b960b91b60005b60055481101561198657600581815481106118ad57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106118e057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561194957600080fd5b505af115801561195d573d6000803e3d6000fd5b505050506040513d602081101561197357600080fd5b505161197e57600080fd5b600101611896565b60015484906001600160a01b038083169116146119a257600080fd5b6001546040805163658b6a5160e11b8152600481018a90526001600160a01b0389811660248301529151919092169163cb16d4a29160448083019260209291908290030181600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506040513d6020811015611a2257600080fd5b5051935050600090505b600654811015611b1c5760068181548110611a4357fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611a7657fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611adf57600080fd5b505af1158015611af3573d6000803e3d6000fd5b505050506040513d6020811015611b0957600080fd5b5051611b1457600080fd5b600101611a2c565b50509392505050565b3360009081526020819052604081206001015460e01b600160e01b90811614611b4d57600080fd5b696d696e74546f6b656e7360b01b60005b600554811015611c4e5760058181548110611b7557fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611ba857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611c1157600080fd5b505af1158015611c25573d6000803e3d6000fd5b505050506040513d6020811015611c3b57600080fd5b5051611c4657600080fd5b600101611b5e565b60015484906001600160a01b03808316911614611c6a57600080fd5b6040805188815290516001600160a01b0388169133917f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e9181900360200190a3600254604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b158015611d0057600080fd5b505af1158015611d14573d6000803e3d6000fd5b505050506040513d6020811015611d2a57600080fd5b5051935050600090505b600654811015611b1c5760068181548110611d4b57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611d7e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611de757600080fd5b505af1158015611dfb573d6000803e3d6000fd5b505050506040513d6020811015611e1157600080fd5b5051611e1c57600080fd5b600101611d34565b60015460009082906001600160a01b03808316911614611e4357600080fd5b611e4c336138a5565b611e595760009150611ea5565b33600081815260208190526040808220828155600101805463ffffffff191690555182917f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf91a3600191505b50919050565b3360009081526020819052604081206001015460e01b600160e01b90811614611ed357600080fd5b6d313ab9372932b83aba30ba34b7b760911b60005b600554811015611fd85760058181548110611eff57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611f3257fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611f9b57600080fd5b505af1158015611faf573d6000803e3d6000fd5b505050506040513d6020811015611fc557600080fd5b5051611fd057600080fd5b600101611ee8565b60015484906001600160a01b03808316911614611ff457600080fd5b6040805188815290516001600160a01b0388169133917f186d8887e1b22f9d9b16849c36baa748950d09d9c9b67a4a6ea140eaad00c21c9181900360200190a360035460408051632770a7eb60e21b81526001600160a01b038981166004830152602482018b905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561208a57600080fd5b505af115801561209e573d6000803e3d6000fd5b505050506040513d60208110156120b457600080fd5b5051935050600090505b600654811015611b1c57600681815481106120d557fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061210857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561217157600080fd5b505af1158015612185573d6000803e3d6000fd5b505050506040513d602081101561219b57600080fd5b50516121a657600080fd5b6001016120be565b6008602052600090815260409020805460019091015460ff9091169082565b600154600090819083906001600160a01b038083169116146121ee57600080fd5b600554600654909350915050915091565b6003546001600160a01b031681565b60015460009082906001600160a01b0380831691161461222d57600080fd5b50506003546001600160a01b0316919050565b60015460009082906001600160a01b0380831691161461225f57600080fd5b5050506001600160a01b031660009081526020819052604090206001015460e01b90565b60015460009082906001600160a01b038083169116146122a257600080fd5b6122ab846138a5565b949350505050565b3360009081526020819052604081206001015460e01b600160e01b908116146122db57600080fd5b7432bc3a32b93730b62a37b5b2b72a3930b739b332b960591b60005b6005548110156123e7576005818154811061230e57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061234157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156123aa57600080fd5b505af11580156123be573d6000803e3d6000fd5b505050506040513d60208110156123d457600080fd5b50516123df57600080fd5b6001016122f7565b60015484906001600160a01b0380831691161461240357600080fd5b6001546040805163dab0efff60e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d602081101561248b57600080fd5b5051935050600090505b60065481101561184557600681815481106124ac57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106124df57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561254857600080fd5b505af115801561255c573d6000803e3d6000fd5b505050506040513d602081101561257257600080fd5b505161257d57600080fd5b600101612495565b3360009081526020819052604081206001015460e01b600160e41b908116146125ad57600080fd5b60015482906001600160a01b038083169116146125c957600080fd5b600154604051632242b11b60e21b8152602060048201908152602482018790526001600160a01b039092169163890ac46c91889188918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561264057600080fd5b505af1158015612654573d6000803e3d6000fd5b505050506040513d602081101561266a57600080fd5b505195945050505050565b3360009081526020819052604081206001015460609060e01b600160e41b908116146126a057600080fd5b6a19d95b995c9a58d0d85b1b60aa1b60005b6005548110156127a257600581815481106126c957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106126fc57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561276557600080fd5b505af1158015612779573d6000803e3d6000fd5b505050506040513d602081101561278f57600080fd5b505161279a57600080fd5b6001016126b2565b60015486906001600160a01b038083169116146127be57600080fd5b60015460405163057e2c8b60e31b81526001600160a01b038c811660048301908152604483018a9052606060248401908152606484018d90529190931692632bf16458928e928e928e928d9290608401858580828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561284c57600080fd5b505af1158015612860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561288957600080fd5b8151602083018051604051929492938301929190846401000000008211156128b057600080fd5b9083019060208201858111156128c557600080fd5b82516401000000008111828201881017156128df57600080fd5b82525081516020918201929091019080838360005b8381101561290c5781810151838201526020016128f4565b50505050905090810190601f1680156129395780820380516001836020036101000a031916815260200191505b506040525050509450945050600090505b600654811015612a3a576006818154811061296157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061299457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156129fd57600080fd5b505af1158015612a11573d6000803e3d6000fd5b505050506040513d6020811015612a2757600080fd5b5051612a3257600080fd5b60010161294a565b50509550959350505050565b6000602081905290815260409020805460019091015460e01b82565b6000612a6c6138d1565b506001600160a01b0383166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152612ad7576005816020015181548110612abd57fe5b906000526020600020906002020160010154915050612b28565b506001600160a01b0383166000908152600860209081526040918290208251808401909352805460ff16158015845260019091015491830191909152610c63576006816020015181548110612abd57fe5b92915050565b6002546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e21b90811614612b6557600080fd5b60015482906001600160a01b03808316911614612b8157600080fd5b6000856001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050506040513d6020811015612be857600080fd5b505190506000816002811115612bfa57fe5b1480612c1157506002816002811115612c0f57fe5b145b15612d49576001600160a01b03861660009081526007602052604090205460ff16612d08576040805180820182526001600160a01b0388811680835260208084018a81526005805460018082018355600083815297517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0600290930292830180546001600160a01b031916919098161790965591517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db190920191909155855180870187528481529054600019018183019081529285526007909152939092209251835460ff19169015151783559051910155612d49565b6001600160a01b038616600090815260076020526040902060010154600580548792908110612d3357fe5b9060005260206000209060020201600101819055505b6001816002811115612d5757fe5b1480612d6e57506002816002811115612d6c57fe5b145b15612ea6576001600160a01b03861660009081526008602052604090205460ff16612e65576040805180820182526001600160a01b0388811680835260208084018a81526006805460018082018355600083815297517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290930292830180546001600160a01b031916919098161790965591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4090920191909155855180870187528481529054600019018183019081529285526008909152939092209251835460ff19169015151783559051910155612ea6565b6001600160a01b038616600090815260086020526040902060010154600680548792908110612e9057fe5b9060005260206000209060020201600101819055505b856001600160a01b03167f78800d7333b8d0174a0845569e3913b7ce4a3c03ca444dd9904172fc14f2fdad868360405180838152602001826002811115612ee957fe5b60ff1681526020019250505060405180910390a250600195945050505050565b3360009081526020819052604081206001015460e01b600160e11b90811614612f3157600080fd5b6d7265676973746572536368656d6560901b60005b6005548110156130365760058181548110612f5d57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110612f9057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050506040513d602081101561302357600080fd5b505161302e57600080fd5b600101612f46565b60015484906001600160a01b0380831691161461305257600080fd5b61305a6138d1565b506001600160a01b03881660009081526020818152604080832081518083018352815481526001918201546001600160e01b031960e091821b16828601908152338752948690529290942001549151891891901b1916601f60e01b16156130c057600080fd5b336000908152602081815260409091206001015490820151601f60e01b60e09290921b191616156130f057600080fd5b6001600160a01b0389166000818152602081905260408082208b8155600101805463ffffffff1916600160e01b8c1760e01c1790555133917f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc91a3600194505050600090505b600654811015611845576006818154811061316d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106131a057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561320957600080fd5b505af115801561321d573d6000803e3d6000fd5b505050506040513d602081101561323357600080fd5b505161323e57600080fd5b600101613156565b6006818154811061114857fe5b3360009081526020819052604081206001015460e01b600160e01b9081161461327b57600080fd5b6d36b4b73a2932b83aba30ba34b7b760911b60005b60055481101561338057600581815481106132a757fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106132da57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561334357600080fd5b505af1158015613357573d6000803e3d6000fd5b505050506040513d602081101561336d57600080fd5b505161337857600080fd5b600101613290565b60015484906001600160a01b0380831691161461339c57600080fd5b6040805188815290516001600160a01b0388169133917f837f2931e3df0592458212be4e470025f197feb7a8e39deb5b7f1f1d42e6f2629181900360200190a3600354604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b15801561343257600080fd5b505af1158015613446573d6000803e3d6000fd5b505050506040513d602081101561345c57600080fd5b5051935050600090505b600654811015611b1c576006818154811061347d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106134b057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561351957600080fd5b505af115801561352d573d6000803e3d6000fd5b505050506040513d602081101561354357600080fd5b505161354e57600080fd5b600101613466565b60015460009082906001600160a01b0380831691161461357557600080fd5b6001600160a01b03841660009081526007602052604090205460ff16806122ab57505050506001600160a01b031660009081526008602052604090205460ff1690565b3360009081526020819052604081206001015460e01b600160e01b908116146135e057600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b6005548110156136f4576005818154811061361b57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061364e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156136b757600080fd5b505af11580156136cb573d6000803e3d6000fd5b505050506040513d60208110156136e157600080fd5b50516136ec57600080fd5b600101613604565b60015484906001600160a01b0380831691161461371057600080fd5b60015460408051635bab6ad160e11b81526001600160a01b038c811660048301528b811660248301528a81166044830152606482018a90529151919092169163b756d5a29160848083019260209291908290030181600087803b15801561377657600080fd5b505af115801561378a573d6000803e3d6000fd5b505050506040513d60208110156137a057600080fd5b5051935050600090505b60065481101561389a57600681815481106137c157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106137f457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561385d57600080fd5b505af1158015613871573d6000803e3d6000fd5b505050506040513d602081101561388757600080fd5b505161389257600080fd5b6001016137aa565b505095945050505050565b6001600160a01b03811660009081526020819052604090206001015460e01b600160e01b161515919050565b604080518082019091526000808252602082015290565b815481835581811115613914576002028160020283600052602060002091820191016139149190613919565b505050565b61394891905b808211156139445780546001600160a01b03191681556000600182015560020161391f565b5090565b9056fea265627a7a72315820e24f53a60e08174f344f06c6323782119468bb158908810e117194088d5111ca64736f6c63430005110032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806389ae1c901161010f578063e08738da116100a2578063e8c98b2211610071578063e8c98b221461083e578063eaf994b21461085b578063f76488be1461088f578063fb4856a2146108bd576101e5565b8063e08738da1461078e578063e1758bd8146107bc578063e4537a74146107c4578063e869d45f146107fa576101e5565b8063b9a04cdd116100de578063b9a04cdd1461057f578063c9b62eb1146105bb578063d1b7089a14610634578063db6149ce14610746576101e5565b806389ae1c90146104d85780638da03997146104e05780639b51e35a146105065780639be2faed14610551576101e5565b806351803cd8116101875780636c525b13116101565780636c525b13146104195780636e94d2781461043f578063814784f614610473578063824f2f1f14610499576101e5565b806351803cd81461036d5780635aef7de6146103a9578063634965da146103b15780636407e432146103e5576101e5565b80633a02263c116101c35780633a02263c146102ad57806342427bf8146102d15780634422d372146102ff5780634f52b5be1461033f576101e5565b8063039de01d146101ea578063177eebb01461022c5780631c4d56081461026d575b600080fd5b6102186004803603604081101561020057600080fd5b506001600160a01b0381358116916020013516610903565b604080519115158252519081900360200190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b0316610c09565b60408051921515835260208301919091528051918290030190f35b61029b6004803603604081101561028357600080fd5b506001600160a01b0381358116916020013516610c28565b60408051918252519081900360200190f35b6102b5610c6a565b604080516001600160a01b039092168252519081900360200190f35b610218600480360360408110156102e757600080fd5b506001600160a01b0381358116916020013516610c79565b61031c6004803603602081101561031557600080fd5b503561113b565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6102186004803603604081101561035557600080fd5b506001600160a01b0381358116916020013516611170565b6102186004803603608081101561038357600080fd5b506001600160a01b0381358116916020810135821691604082013591606001351661156b565b6102b561184f565b610218600480360360608110156103c757600080fd5b508035906001600160a01b036020820135811691604001351661185e565b610218600480360360608110156103fb57600080fd5b508035906001600160a01b0360208201358116916040013516611b25565b6102186004803603602081101561042f57600080fd5b50356001600160a01b0316611e24565b6102186004803603606081101561045557600080fd5b508035906001600160a01b0360208201358116916040013516611eab565b6102526004803603602081101561048957600080fd5b50356001600160a01b03166121ae565b6104bf600480360360208110156104af57600080fd5b50356001600160a01b03166121cd565b6040805192835260208301919091528051918290030190f35b6102b56121ff565b6102b5600480360360208110156104f657600080fd5b50356001600160a01b031661220e565b6105346004803603604081101561051c57600080fd5b506001600160a01b0381358116916020013516612240565b604080516001600160e01b03199092168252519081900360200190f35b6102186004803603604081101561056757600080fd5b506001600160a01b0381358116916020013516612283565b6102186004803603608081101561059557600080fd5b506001600160a01b038135811691602081013582169160408201359160600135166122b3565b610218600480360360408110156105d157600080fd5b8101906020810181356401000000008111156105ec57600080fd5b8201836020820111156105fe57600080fd5b8035906020019184600183028401116401000000008311171561062057600080fd5b9193509150356001600160a01b0316612585565b6106c36004803603608081101561064a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460018302840111640100000000831117156106a957600080fd5b91935091506001600160a01b038135169060200135612675565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561070a5781810151838201526020016106f2565b50505050905090810190601f1680156107375780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61076c6004803603602081101561075c57600080fd5b50356001600160a01b0316612a46565b604080519283526001600160e01b031990911660208301528051918290030190f35b61029b600480360360408110156107a457600080fd5b506001600160a01b0381358116916020013516612a62565b6102b5612b2e565b610218600480360360608110156107da57600080fd5b506001600160a01b03813581169160208101359160409091013516612b3d565b6102186004803603608081101561081057600080fd5b506001600160a01b0381358116916020810135916001600160e01b0319604083013516916060013516612f09565b61031c6004803603602081101561085457600080fd5b5035613246565b6102186004803603606081101561087157600080fd5b508035906001600160a01b0360208201358116916040013516613253565b610218600480360360408110156108a557600080fd5b506001600160a01b0381358116916020013516613556565b610218600480360360a08110156108d357600080fd5b506001600160a01b03813581169160208101358216916040820135811691606081013591608090910135166135b8565b3360009081526020819052604081206001015460e01b600160e11b9081161461092b57600080fd5b6f756e7265676973746572536368656d6560801b60005b600554811015610a32576005818154811061095957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061098c57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050506040513d6020811015610a1f57600080fd5b5051610a2a57600080fd5b600101610942565b60015484906001600160a01b03808316911614610a4e57600080fd5b610a57866138a5565b610a645760009350610b0b565b336000908152602081905260408082206001908101546001600160a01b038a168452919092209091015460e091821b19911b16601f60e01b1615610aa757600080fd5b6040516001600160a01b0387169033907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf90600090a36001600160a01b03861660009081526020819052604081209081556001908101805463ffffffff1916905593505b50600090505b600654811015610c015760068181548110610b2857fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110610b5b57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b505050506040513d6020811015610bee57600080fd5b5051610bf957600080fd5b600101610b11565b505092915050565b6007602052600090815260409020805460019091015460ff9091169082565b60015460009082906001600160a01b03808316911614610c4757600080fd5b6001600160a01b03841660009081526020819052604090205491505b5092915050565b6004546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e31b90811614610ca157600080fd5b60015482906001600160a01b03808316911614610cbd57600080fd5b6004546001600160a01b031615610cd357600080fd5b6001600160a01b038416610ce657600080fd5b600480546001600160a01b0319166001600160a01b0386811691821783556001546040805163f2fde38b60e01b815294850193909352915191169163f2fde38b91602480830192600092919082900301818387803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050836001600160a01b0316600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610db757600080fd5b505afa158015610dcb573d6000803e3d6000fd5b505050506040513d6020811015610de157600080fd5b50516001600160a01b031614610df657600080fd5b60025460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610e3a57600080fd5b505afa158015610e4e573d6000803e3d6000fd5b505050506040513d6020811015610e6457600080fd5b50516001600160a01b03161415610f72576002546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b158015610ec357600080fd5b505af1158015610ed7573d6000803e3d6000fd5b50505050836001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3357600080fd5b505afa158015610f47573d6000803e3d6000fd5b505050506040513d6020811015610f5d57600080fd5b50516001600160a01b031614610f7257600080fd5b60035460408051638da5cb5b60e01b8152905130926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610fb657600080fd5b505afa158015610fca573d6000803e3d6000fd5b505050506040513d6020811015610fe057600080fd5b50516001600160a01b031614156110ee576003546040805163f2fde38b60e01b81526001600160a01b0387811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b50505050836001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d60208110156110d957600080fd5b50516001600160a01b0316146110ee57600080fd5b600454604080516001600160a01b039290921682525130917fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd919081900360200190a25060019392505050565b6005818154811061114857fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b3360009081526020819052604081206001015460e01b600160e21b9081161461119857600080fd5b60015482906001600160a01b038083169116146111b457600080fd5b6111bc6138d1565b6111c46138d1565b6000866001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d602081101561122b57600080fd5b5051905060008082600281111561123e57fe5b14806112555750600282600281111561125357fe5b145b15611399576001600160a01b0388166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152909450611399576001600580549050038460200151101561135a576005805460001981019081106112c257fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600580549295508592909190811061130a57fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600790526040909120909101555b600580549061136d9060001983016138e8565b50506001600160a01b0387166000908152600760205260408120805460ff191681556001908101919091555b60018260028111156113a757fe5b14806113be575060028260028111156113bc57fe5b145b15611502576001600160a01b0388166000908152600860209081526040918290208251808401909352805460ff1615801584526001909101549183019190915290945061150257600160068054905003846020015110156114c35760068054600019810190811061142b57fe5b60009182526020918290206040805180820190915260029092020180546001600160a01b03168252600101548183015290850151600680549295508592909190811061147357fe5b6000918252602080832084516002939093020180546001600160a01b0319166001600160a01b03938416178155938101516001948501558781015187519092168352600890526040909120909101555b60068054906114d69060001983016138e8565b50506001600160a01b0387166000908152600860205260408120805460ff191681556001908101919091555b80156115605760208401516001600160a01b038916907fcdf1a50ea6b7de555bd409f8a4a53ea43c6dc6b4caa961889da9e005f21bbaa990600085600281111561154857fe5b60408051938452911460208301528051918290030190a25b979650505050505050565b3360009081526020819052604081206001015460e01b600160e01b9081161461159357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b6005548110156116a757600581815481106115ce57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061160157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561166a57600080fd5b505af115801561167e573d6000803e3d6000fd5b505050506040513d602081101561169457600080fd5b505161169f57600080fd5b6001016115b7565b60015484906001600160a01b038083169116146116c357600080fd5b6001546040805163ab751f7160e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163ab751f719160648083019260209291908290030181600087803b15801561172157600080fd5b505af1158015611735573d6000803e3d6000fd5b505050506040513d602081101561174b57600080fd5b5051935050600090505b600654811015611845576006818154811061176c57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061179f57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050506040513d602081101561183257600080fd5b505161183d57600080fd5b600101611755565b5050949350505050565b6001546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e01b9081161461188657600080fd5b6839b2b73222ba3432b960b91b60005b60055481101561198657600581815481106118ad57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106118e057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561194957600080fd5b505af115801561195d573d6000803e3d6000fd5b505050506040513d602081101561197357600080fd5b505161197e57600080fd5b600101611896565b60015484906001600160a01b038083169116146119a257600080fd5b6001546040805163658b6a5160e11b8152600481018a90526001600160a01b0389811660248301529151919092169163cb16d4a29160448083019260209291908290030181600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506040513d6020811015611a2257600080fd5b5051935050600090505b600654811015611b1c5760068181548110611a4357fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611a7657fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611adf57600080fd5b505af1158015611af3573d6000803e3d6000fd5b505050506040513d6020811015611b0957600080fd5b5051611b1457600080fd5b600101611a2c565b50509392505050565b3360009081526020819052604081206001015460e01b600160e01b90811614611b4d57600080fd5b696d696e74546f6b656e7360b01b60005b600554811015611c4e5760058181548110611b7557fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611ba857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611c1157600080fd5b505af1158015611c25573d6000803e3d6000fd5b505050506040513d6020811015611c3b57600080fd5b5051611c4657600080fd5b600101611b5e565b60015484906001600160a01b03808316911614611c6a57600080fd5b6040805188815290516001600160a01b0388169133917f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e9181900360200190a3600254604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b158015611d0057600080fd5b505af1158015611d14573d6000803e3d6000fd5b505050506040513d6020811015611d2a57600080fd5b5051935050600090505b600654811015611b1c5760068181548110611d4b57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d91339185908110611d7e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611de757600080fd5b505af1158015611dfb573d6000803e3d6000fd5b505050506040513d6020811015611e1157600080fd5b5051611e1c57600080fd5b600101611d34565b60015460009082906001600160a01b03808316911614611e4357600080fd5b611e4c336138a5565b611e595760009150611ea5565b33600081815260208190526040808220828155600101805463ffffffff191690555182917f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf91a3600191505b50919050565b3360009081526020819052604081206001015460e01b600160e01b90811614611ed357600080fd5b6d313ab9372932b83aba30ba34b7b760911b60005b600554811015611fd85760058181548110611eff57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110611f3257fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015611f9b57600080fd5b505af1158015611faf573d6000803e3d6000fd5b505050506040513d6020811015611fc557600080fd5b5051611fd057600080fd5b600101611ee8565b60015484906001600160a01b03808316911614611ff457600080fd5b6040805188815290516001600160a01b0388169133917f186d8887e1b22f9d9b16849c36baa748950d09d9c9b67a4a6ea140eaad00c21c9181900360200190a360035460408051632770a7eb60e21b81526001600160a01b038981166004830152602482018b905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561208a57600080fd5b505af115801561209e573d6000803e3d6000fd5b505050506040513d60208110156120b457600080fd5b5051935050600090505b600654811015611b1c57600681815481106120d557fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061210857fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561217157600080fd5b505af1158015612185573d6000803e3d6000fd5b505050506040513d602081101561219b57600080fd5b50516121a657600080fd5b6001016120be565b6008602052600090815260409020805460019091015460ff9091169082565b600154600090819083906001600160a01b038083169116146121ee57600080fd5b600554600654909350915050915091565b6003546001600160a01b031681565b60015460009082906001600160a01b0380831691161461222d57600080fd5b50506003546001600160a01b0316919050565b60015460009082906001600160a01b0380831691161461225f57600080fd5b5050506001600160a01b031660009081526020819052604090206001015460e01b90565b60015460009082906001600160a01b038083169116146122a257600080fd5b6122ab846138a5565b949350505050565b3360009081526020819052604081206001015460e01b600160e01b908116146122db57600080fd5b7432bc3a32b93730b62a37b5b2b72a3930b739b332b960591b60005b6005548110156123e7576005818154811061230e57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061234157fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156123aa57600080fd5b505af11580156123be573d6000803e3d6000fd5b505050506040513d60208110156123d457600080fd5b50516123df57600080fd5b6001016122f7565b60015484906001600160a01b0380831691161461240357600080fd5b6001546040805163dab0efff60e01b81526001600160a01b038b811660048301528a81166024830152604482018a90529151919092169163dab0efff9160648083019260209291908290030181600087803b15801561246157600080fd5b505af1158015612475573d6000803e3d6000fd5b505050506040513d602081101561248b57600080fd5b5051935050600090505b60065481101561184557600681815481106124ac57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106124df57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561254857600080fd5b505af115801561255c573d6000803e3d6000fd5b505050506040513d602081101561257257600080fd5b505161257d57600080fd5b600101612495565b3360009081526020819052604081206001015460e01b600160e41b908116146125ad57600080fd5b60015482906001600160a01b038083169116146125c957600080fd5b600154604051632242b11b60e21b8152602060048201908152602482018790526001600160a01b039092169163890ac46c91889188918190604401848480828437600081840152601f19601f8201169050808301925050509350505050602060405180830381600087803b15801561264057600080fd5b505af1158015612654573d6000803e3d6000fd5b505050506040513d602081101561266a57600080fd5b505195945050505050565b3360009081526020819052604081206001015460609060e01b600160e41b908116146126a057600080fd5b6a19d95b995c9a58d0d85b1b60aa1b60005b6005548110156127a257600581815481106126c957fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106126fc57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561276557600080fd5b505af1158015612779573d6000803e3d6000fd5b505050506040513d602081101561278f57600080fd5b505161279a57600080fd5b6001016126b2565b60015486906001600160a01b038083169116146127be57600080fd5b60015460405163057e2c8b60e31b81526001600160a01b038c811660048301908152604483018a9052606060248401908152606484018d90529190931692632bf16458928e928e928e928d9290608401858580828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561284c57600080fd5b505af1158015612860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561288957600080fd5b8151602083018051604051929492938301929190846401000000008211156128b057600080fd5b9083019060208201858111156128c557600080fd5b82516401000000008111828201881017156128df57600080fd5b82525081516020918201929091019080838360005b8381101561290c5781810151838201526020016128f4565b50505050905090810190601f1680156129395780820380516001836020036101000a031916815260200191505b506040525050509450945050600090505b600654811015612a3a576006818154811061296157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d9133918590811061299457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156129fd57600080fd5b505af1158015612a11573d6000803e3d6000fd5b505050506040513d6020811015612a2757600080fd5b5051612a3257600080fd5b60010161294a565b50509550959350505050565b6000602081905290815260409020805460019091015460e01b82565b6000612a6c6138d1565b506001600160a01b0383166000908152600760209081526040918290208251808401909352805460ff16158015845260019091015491830191909152612ad7576005816020015181548110612abd57fe5b906000526020600020906002020160010154915050612b28565b506001600160a01b0383166000908152600860209081526040918290208251808401909352805460ff16158015845260019091015491830191909152610c63576006816020015181548110612abd57fe5b92915050565b6002546001600160a01b031681565b3360009081526020819052604081206001015460e01b600160e21b90811614612b6557600080fd5b60015482906001600160a01b03808316911614612b8157600080fd5b6000856001600160a01b031663e2b0caef6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050506040513d6020811015612be857600080fd5b505190506000816002811115612bfa57fe5b1480612c1157506002816002811115612c0f57fe5b145b15612d49576001600160a01b03861660009081526007602052604090205460ff16612d08576040805180820182526001600160a01b0388811680835260208084018a81526005805460018082018355600083815297517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0600290930292830180546001600160a01b031916919098161790965591517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db190920191909155855180870187528481529054600019018183019081529285526007909152939092209251835460ff19169015151783559051910155612d49565b6001600160a01b038616600090815260076020526040902060010154600580548792908110612d3357fe5b9060005260206000209060020201600101819055505b6001816002811115612d5757fe5b1480612d6e57506002816002811115612d6c57fe5b145b15612ea6576001600160a01b03861660009081526008602052604090205460ff16612e65576040805180820182526001600160a01b0388811680835260208084018a81526006805460018082018355600083815297517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290930292830180546001600160a01b031916919098161790965591517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d4090920191909155855180870187528481529054600019018183019081529285526008909152939092209251835460ff19169015151783559051910155612ea6565b6001600160a01b038616600090815260086020526040902060010154600680548792908110612e9057fe5b9060005260206000209060020201600101819055505b856001600160a01b03167f78800d7333b8d0174a0845569e3913b7ce4a3c03ca444dd9904172fc14f2fdad868360405180838152602001826002811115612ee957fe5b60ff1681526020019250505060405180910390a250600195945050505050565b3360009081526020819052604081206001015460e01b600160e11b90811614612f3157600080fd5b6d7265676973746572536368656d6560901b60005b6005548110156130365760058181548110612f5d57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab291339185908110612f9057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050506040513d602081101561302357600080fd5b505161302e57600080fd5b600101612f46565b60015484906001600160a01b0380831691161461305257600080fd5b61305a6138d1565b506001600160a01b03881660009081526020818152604080832081518083018352815481526001918201546001600160e01b031960e091821b16828601908152338752948690529290942001549151891891901b1916601f60e01b16156130c057600080fd5b336000908152602081815260409091206001015490820151601f60e01b60e09290921b191616156130f057600080fd5b6001600160a01b0389166000818152602081905260408082208b8155600101805463ffffffff1916600160e01b8c1760e01c1790555133917f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc91a3600194505050600090505b600654811015611845576006818154811061316d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106131a057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561320957600080fd5b505af115801561321d573d6000803e3d6000fd5b505050506040513d602081101561323357600080fd5b505161323e57600080fd5b600101613156565b6006818154811061114857fe5b3360009081526020819052604081206001015460e01b600160e01b9081161461327b57600080fd5b6d36b4b73a2932b83aba30ba34b7b760911b60005b60055481101561338057600581815481106132a757fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab2913391859081106132da57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561334357600080fd5b505af1158015613357573d6000803e3d6000fd5b505050506040513d602081101561336d57600080fd5b505161337857600080fd5b600101613290565b60015484906001600160a01b0380831691161461339c57600080fd5b6040805188815290516001600160a01b0388169133917f837f2931e3df0592458212be4e470025f197feb7a8e39deb5b7f1f1d42e6f2629181900360200190a3600354604080516340c10f1960e01b81526001600160a01b038981166004830152602482018b9052915191909216916340c10f199160448083019260209291908290030181600087803b15801561343257600080fd5b505af1158015613446573d6000803e3d6000fd5b505050506040513d602081101561345c57600080fd5b5051935050600090505b600654811015611b1c576006818154811061347d57fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106134b057fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561351957600080fd5b505af115801561352d573d6000803e3d6000fd5b505050506040513d602081101561354357600080fd5b505161354e57600080fd5b600101613466565b60015460009082906001600160a01b0380831691161461357557600080fd5b6001600160a01b03841660009081526007602052604090205460ff16806122ab57505050506001600160a01b031660009081526008602052604090205460ff1690565b3360009081526020819052604081206001015460e01b600160e01b908116146135e057600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b6005548110156136f4576005818154811061361b57fe5b6000918252602090912060029091020154600580546001600160a01b039092169163c1786ab29133918590811061364e57fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b1580156136b757600080fd5b505af11580156136cb573d6000803e3d6000fd5b505050506040513d60208110156136e157600080fd5b50516136ec57600080fd5b600101613604565b60015484906001600160a01b0380831691161461371057600080fd5b60015460408051635bab6ad160e11b81526001600160a01b038c811660048301528b811660248301528a81166044830152606482018a90529151919092169163b756d5a29160848083019260209291908290030181600087803b15801561377657600080fd5b505af115801561378a573d6000803e3d6000fd5b505050506040513d60208110156137a057600080fd5b5051935050600090505b60065481101561389a57600681815481106137c157fe5b6000918252602090912060029091020154600680546001600160a01b0390921691638043154d913391859081106137f457fe5b906000526020600020906002020160010154856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561385d57600080fd5b505af1158015613871573d6000803e3d6000fd5b505050506040513d602081101561388757600080fd5b505161389257600080fd5b6001016137aa565b505095945050505050565b6001600160a01b03811660009081526020819052604090206001015460e01b600160e01b161515919050565b604080518082019091526000808252602082015290565b815481835581811115613914576002028160020283600052602060002091820191016139149190613919565b505050565b61394891905b808211156139445780546001600160a01b03191681556000600182015560020161391f565b5090565b9056fea265627a7a72315820e24f53a60e08174f344f06c6323782119468bb158908810e117194088d5111ca64736f6c63430005110032", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/DxReputation.json b/src/contracts/DxReputation.json index 9b54eeeb0..dc426506c 100644 --- a/src/contracts/DxReputation.json +++ b/src/contracts/DxReputation.json @@ -1,304 +1,304 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DxReputation", - "sourceName": "dxdao-contracts/contracts/dxdao/DxReputation.sol", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "Burn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_blockNumber", - "type": "uint256" - } - ], - "name": "balanceOfAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "_user", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amount", - "type": "uint256[]" - } - ], - "name": "mintMultiple", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_blockNumber", - "type": "uint256" - } - ], - "name": "totalSupplyAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526000805460ff60a01b1916600960a11b17905534801561002357600080fd5b506100356001600160e01b0361008216565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610086565b3390565b610c9f806100956000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146102aa5780638da5cb5b146102b45780638f32d59b146102d8578063981b24d0146102e05780639dc29fac146102fd578063f2fde38b14610329576100b4565b806307ea5477146100b957806318160ddd146101f4578063313ce5671461020e57806340c10f191461022c5780634ee2cd7e1461025857806370a0823114610284575b600080fd5b6101e0600480360360408110156100cf57600080fd5b8101906020810181356401000000008111156100ea57600080fd5b8201836020820111156100fc57600080fd5b8035906020019184602083028401116401000000008311171561011e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460208302840111640100000000831117156101a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061034f945050505050565b604080519115158252519081900360200190f35b6101fc610507565b60408051918252519081900360200190f35b610216610518565b6040805160ff9092168252519081900360200190f35b6101e06004803603604081101561024257600080fd5b506001600160a01b038135169060200135610528565b6101fc6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610623565b6101fc6004803603602081101561029a57600080fd5b50356001600160a01b03166106b3565b6102b26106c7565b005b6102bc610758565b604080516001600160a01b039092168252519081900360200190f35b6101e0610767565b6101fc600480360360208110156102f657600080fd5b503561078b565b6101e06004803603604081101561031357600080fd5b506001600160a01b0381351690602001356107dd565b6102b26004803603602081101561033f57600080fd5b50356001600160a01b03166108c8565b6000610359610767565b610398576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b60005b83518110156104fb5760006103ae610507565b9050808483815181106103bd57fe5b6020026020010151820110156103d257600080fd5b60006103f08684815181106103e357fe5b60200260200101516106b3565b9050808584815181106103ff57fe5b60200260200101518201101561041457600080fd5b610434600286858151811061042557fe5b6020026020010151840161091b565b61048a6001600088868151811061044757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002086858151811061047b57fe5b6020026020010151830161091b565b85838151811061049657fe5b60200260200101516001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858685815181106104d457fe5b60200260200101516040518082815260200191505060405180910390a2505060010161039b565b50600190505b92915050565b60006105124361078b565b90505b90565b600054600160a01b900460ff1681565b6000610532610767565b610571576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600061057b610507565b905080838201101561058c57600080fd5b6000610597856106b3565b90508084820110156105a857600080fd5b6105b5600285840161091b565b6001600160a01b03851660009081526001602052604090206105d99082860161091b565b6040805185815290516001600160a01b038716917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a2506001949350505050565b6001600160a01b038216600090815260016020526040812054158061067d57506001600160a01b0383166000908152600160205260408120805484929061066657fe5b6000918252602090912001546001600160801b0316115b1561068a57506000610501565b6001600160a01b03831660009081526001602052604090206106ac9083610a09565b9050610501565b60006106bf8243610623565b90505b919050565b6106cf610767565b61070e576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661077c610b39565b6001600160a01b031614905090565b60025460009015806107be57508160026000815481106107a757fe5b6000918252602090912001546001600160801b0316115b156107cb575060006106c2565b6107d6600283610a09565b90506106c2565b60006107e7610767565b610826576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b6000610830610507565b905082600061083e866106b3565b90508181101561084c578091505b610859600283850361091b565b6001600160a01b038616600090815260016020526040902061087d9083830361091b565b6040805183815290516001600160a01b038816917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600195945050505050565b6108d0610767565b61090f576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b61091881610b3d565b50565b80816001600160801b03161461093057600080fd5b815415806109645750815443908390600019810190811061094d57fe5b6000918252602090912001546001600160801b0316105b156109cb578154600090839061097d8260018301610bdd565b8154811061098757fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff19909316929092171617905550610a05565b8154600090839060001981019081106109e057fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b8154600090610a1a57506000610501565b825483906000198101908110610a2c57fe5b6000918252602090912001546001600160801b03168210610a7c57825483906000198101908110610a5957fe5b600091825260209091200154600160801b90046001600160801b03169050610501565b82600081548110610a8957fe5b6000918252602090912001546001600160801b0316821015610aad57506000610501565b8254600090600019015b81811115610b08576000600260018385010104905084868281548110610ad957fe5b6000918252602090912001546001600160801b031611610afb57809250610b02565b6001810391505b50610ab7565b848281548110610b1457fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b3390565b6001600160a01b038116610b825760405162461bcd60e51b8152600401808060200182810382526026815260200180610c256026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610c0157600083815260209020610c01918101908301610c06565b505050565b61051591905b80821115610c205760008155600101610c0c565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820f333d348cc1656fe9a619e02e86b4ec6a9253fa953fe547a17aa5dc8ce9f225864736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146102aa5780638da5cb5b146102b45780638f32d59b146102d8578063981b24d0146102e05780639dc29fac146102fd578063f2fde38b14610329576100b4565b806307ea5477146100b957806318160ddd146101f4578063313ce5671461020e57806340c10f191461022c5780634ee2cd7e1461025857806370a0823114610284575b600080fd5b6101e0600480360360408110156100cf57600080fd5b8101906020810181356401000000008111156100ea57600080fd5b8201836020820111156100fc57600080fd5b8035906020019184602083028401116401000000008311171561011e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460208302840111640100000000831117156101a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061034f945050505050565b604080519115158252519081900360200190f35b6101fc610507565b60408051918252519081900360200190f35b610216610518565b6040805160ff9092168252519081900360200190f35b6101e06004803603604081101561024257600080fd5b506001600160a01b038135169060200135610528565b6101fc6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610623565b6101fc6004803603602081101561029a57600080fd5b50356001600160a01b03166106b3565b6102b26106c7565b005b6102bc610758565b604080516001600160a01b039092168252519081900360200190f35b6101e0610767565b6101fc600480360360208110156102f657600080fd5b503561078b565b6101e06004803603604081101561031357600080fd5b506001600160a01b0381351690602001356107dd565b6102b26004803603602081101561033f57600080fd5b50356001600160a01b03166108c8565b6000610359610767565b610398576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b60005b83518110156104fb5760006103ae610507565b9050808483815181106103bd57fe5b6020026020010151820110156103d257600080fd5b60006103f08684815181106103e357fe5b60200260200101516106b3565b9050808584815181106103ff57fe5b60200260200101518201101561041457600080fd5b610434600286858151811061042557fe5b6020026020010151840161091b565b61048a6001600088868151811061044757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002086858151811061047b57fe5b6020026020010151830161091b565b85838151811061049657fe5b60200260200101516001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858685815181106104d457fe5b60200260200101516040518082815260200191505060405180910390a2505060010161039b565b50600190505b92915050565b60006105124361078b565b90505b90565b600054600160a01b900460ff1681565b6000610532610767565b610571576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600061057b610507565b905080838201101561058c57600080fd5b6000610597856106b3565b90508084820110156105a857600080fd5b6105b5600285840161091b565b6001600160a01b03851660009081526001602052604090206105d99082860161091b565b6040805185815290516001600160a01b038716917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a2506001949350505050565b6001600160a01b038216600090815260016020526040812054158061067d57506001600160a01b0383166000908152600160205260408120805484929061066657fe5b6000918252602090912001546001600160801b0316115b1561068a57506000610501565b6001600160a01b03831660009081526001602052604090206106ac9083610a09565b9050610501565b60006106bf8243610623565b90505b919050565b6106cf610767565b61070e576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661077c610b39565b6001600160a01b031614905090565b60025460009015806107be57508160026000815481106107a757fe5b6000918252602090912001546001600160801b0316115b156107cb575060006106c2565b6107d6600283610a09565b90506106c2565b60006107e7610767565b610826576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b6000610830610507565b905082600061083e866106b3565b90508181101561084c578091505b610859600283850361091b565b6001600160a01b038616600090815260016020526040902061087d9083830361091b565b6040805183815290516001600160a01b038816917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600195945050505050565b6108d0610767565b61090f576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b61091881610b3d565b50565b80816001600160801b03161461093057600080fd5b815415806109645750815443908390600019810190811061094d57fe5b6000918252602090912001546001600160801b0316105b156109cb578154600090839061097d8260018301610bdd565b8154811061098757fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff19909316929092171617905550610a05565b8154600090839060001981019081106109e057fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b8154600090610a1a57506000610501565b825483906000198101908110610a2c57fe5b6000918252602090912001546001600160801b03168210610a7c57825483906000198101908110610a5957fe5b600091825260209091200154600160801b90046001600160801b03169050610501565b82600081548110610a8957fe5b6000918252602090912001546001600160801b0316821015610aad57506000610501565b8254600090600019015b81811115610b08576000600260018385010104905084868281548110610ad957fe5b6000918252602090912001546001600160801b031611610afb57809250610b02565b6001810391505b50610ab7565b848281548110610b1457fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b3390565b6001600160a01b038116610b825760405162461bcd60e51b8152600401808060200182810382526026815260200180610c256026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610c0157600083815260209020610c01918101908301610c06565b505050565b61051591905b80821115610c205760008155600101610c0c565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820f333d348cc1656fe9a619e02e86b4ec6a9253fa953fe547a17aa5dc8ce9f225864736f6c63430005110032", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "DxReputation", + "sourceName": "dxdao-contracts/contracts/dxdao/DxReputation.sol", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_blockNumber", + "type": "uint256" + } + ], + "name": "balanceOfAt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "_user", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amount", + "type": "uint256[]" + } + ], + "name": "mintMultiple", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "_blockNumber", + "type": "uint256" + } + ], + "name": "totalSupplyAt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040526000805460ff60a01b1916600960a11b17905534801561002357600080fd5b506100356001600160e01b0361008216565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610086565b3390565b610c9f806100956000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146102aa5780638da5cb5b146102b45780638f32d59b146102d8578063981b24d0146102e05780639dc29fac146102fd578063f2fde38b14610329576100b4565b806307ea5477146100b957806318160ddd146101f4578063313ce5671461020e57806340c10f191461022c5780634ee2cd7e1461025857806370a0823114610284575b600080fd5b6101e0600480360360408110156100cf57600080fd5b8101906020810181356401000000008111156100ea57600080fd5b8201836020820111156100fc57600080fd5b8035906020019184602083028401116401000000008311171561011e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460208302840111640100000000831117156101a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061034f945050505050565b604080519115158252519081900360200190f35b6101fc610507565b60408051918252519081900360200190f35b610216610518565b6040805160ff9092168252519081900360200190f35b6101e06004803603604081101561024257600080fd5b506001600160a01b038135169060200135610528565b6101fc6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610623565b6101fc6004803603602081101561029a57600080fd5b50356001600160a01b03166106b3565b6102b26106c7565b005b6102bc610758565b604080516001600160a01b039092168252519081900360200190f35b6101e0610767565b6101fc600480360360208110156102f657600080fd5b503561078b565b6101e06004803603604081101561031357600080fd5b506001600160a01b0381351690602001356107dd565b6102b26004803603602081101561033f57600080fd5b50356001600160a01b03166108c8565b6000610359610767565b610398576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b60005b83518110156104fb5760006103ae610507565b9050808483815181106103bd57fe5b6020026020010151820110156103d257600080fd5b60006103f08684815181106103e357fe5b60200260200101516106b3565b9050808584815181106103ff57fe5b60200260200101518201101561041457600080fd5b610434600286858151811061042557fe5b6020026020010151840161091b565b61048a6001600088868151811061044757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002086858151811061047b57fe5b6020026020010151830161091b565b85838151811061049657fe5b60200260200101516001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858685815181106104d457fe5b60200260200101516040518082815260200191505060405180910390a2505060010161039b565b50600190505b92915050565b60006105124361078b565b90505b90565b600054600160a01b900460ff1681565b6000610532610767565b610571576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600061057b610507565b905080838201101561058c57600080fd5b6000610597856106b3565b90508084820110156105a857600080fd5b6105b5600285840161091b565b6001600160a01b03851660009081526001602052604090206105d99082860161091b565b6040805185815290516001600160a01b038716917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a2506001949350505050565b6001600160a01b038216600090815260016020526040812054158061067d57506001600160a01b0383166000908152600160205260408120805484929061066657fe5b6000918252602090912001546001600160801b0316115b1561068a57506000610501565b6001600160a01b03831660009081526001602052604090206106ac9083610a09565b9050610501565b60006106bf8243610623565b90505b919050565b6106cf610767565b61070e576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661077c610b39565b6001600160a01b031614905090565b60025460009015806107be57508160026000815481106107a757fe5b6000918252602090912001546001600160801b0316115b156107cb575060006106c2565b6107d6600283610a09565b90506106c2565b60006107e7610767565b610826576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b6000610830610507565b905082600061083e866106b3565b90508181101561084c578091505b610859600283850361091b565b6001600160a01b038616600090815260016020526040902061087d9083830361091b565b6040805183815290516001600160a01b038816917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600195945050505050565b6108d0610767565b61090f576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b61091881610b3d565b50565b80816001600160801b03161461093057600080fd5b815415806109645750815443908390600019810190811061094d57fe5b6000918252602090912001546001600160801b0316105b156109cb578154600090839061097d8260018301610bdd565b8154811061098757fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff19909316929092171617905550610a05565b8154600090839060001981019081106109e057fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b8154600090610a1a57506000610501565b825483906000198101908110610a2c57fe5b6000918252602090912001546001600160801b03168210610a7c57825483906000198101908110610a5957fe5b600091825260209091200154600160801b90046001600160801b03169050610501565b82600081548110610a8957fe5b6000918252602090912001546001600160801b0316821015610aad57506000610501565b8254600090600019015b81811115610b08576000600260018385010104905084868281548110610ad957fe5b6000918252602090912001546001600160801b031611610afb57809250610b02565b6001810391505b50610ab7565b848281548110610b1457fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b3390565b6001600160a01b038116610b825760405162461bcd60e51b8152600401808060200182810382526026815260200180610c256026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610c0157600083815260209020610c01918101908301610c06565b505050565b61051591905b80821115610c205760008155600101610c0c565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820f333d348cc1656fe9a619e02e86b4ec6a9253fa953fe547a17aa5dc8ce9f225864736f6c63430005110032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063715018a611610071578063715018a6146102aa5780638da5cb5b146102b45780638f32d59b146102d8578063981b24d0146102e05780639dc29fac146102fd578063f2fde38b14610329576100b4565b806307ea5477146100b957806318160ddd146101f4578063313ce5671461020e57806340c10f191461022c5780634ee2cd7e1461025857806370a0823114610284575b600080fd5b6101e0600480360360408110156100cf57600080fd5b8101906020810181356401000000008111156100ea57600080fd5b8201836020820111156100fc57600080fd5b8035906020019184602083028401116401000000008311171561011e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460208302840111640100000000831117156101a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061034f945050505050565b604080519115158252519081900360200190f35b6101fc610507565b60408051918252519081900360200190f35b610216610518565b6040805160ff9092168252519081900360200190f35b6101e06004803603604081101561024257600080fd5b506001600160a01b038135169060200135610528565b6101fc6004803603604081101561026e57600080fd5b506001600160a01b038135169060200135610623565b6101fc6004803603602081101561029a57600080fd5b50356001600160a01b03166106b3565b6102b26106c7565b005b6102bc610758565b604080516001600160a01b039092168252519081900360200190f35b6101e0610767565b6101fc600480360360208110156102f657600080fd5b503561078b565b6101e06004803603604081101561031357600080fd5b506001600160a01b0381351690602001356107dd565b6102b26004803603602081101561033f57600080fd5b50356001600160a01b03166108c8565b6000610359610767565b610398576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b60005b83518110156104fb5760006103ae610507565b9050808483815181106103bd57fe5b6020026020010151820110156103d257600080fd5b60006103f08684815181106103e357fe5b60200260200101516106b3565b9050808584815181106103ff57fe5b60200260200101518201101561041457600080fd5b610434600286858151811061042557fe5b6020026020010151840161091b565b61048a6001600088868151811061044757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002086858151811061047b57fe5b6020026020010151830161091b565b85838151811061049657fe5b60200260200101516001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858685815181106104d457fe5b60200260200101516040518082815260200191505060405180910390a2505060010161039b565b50600190505b92915050565b60006105124361078b565b90505b90565b600054600160a01b900460ff1681565b6000610532610767565b610571576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600061057b610507565b905080838201101561058c57600080fd5b6000610597856106b3565b90508084820110156105a857600080fd5b6105b5600285840161091b565b6001600160a01b03851660009081526001602052604090206105d99082860161091b565b6040805185815290516001600160a01b038716917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a2506001949350505050565b6001600160a01b038216600090815260016020526040812054158061067d57506001600160a01b0383166000908152600160205260408120805484929061066657fe5b6000918252602090912001546001600160801b0316115b1561068a57506000610501565b6001600160a01b03831660009081526001602052604090206106ac9083610a09565b9050610501565b60006106bf8243610623565b90505b919050565b6106cf610767565b61070e576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b031661077c610b39565b6001600160a01b031614905090565b60025460009015806107be57508160026000815481106107a757fe5b6000918252602090912001546001600160801b0316115b156107cb575060006106c2565b6107d6600283610a09565b90506106c2565b60006107e7610767565b610826576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b6000610830610507565b905082600061083e866106b3565b90508181101561084c578091505b610859600283850361091b565b6001600160a01b038616600090815260016020526040902061087d9083830361091b565b6040805183815290516001600160a01b038816917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600195945050505050565b6108d0610767565b61090f576040805162461bcd60e51b81526020600482018190526024820152600080516020610c4b833981519152604482015290519081900360640190fd5b61091881610b3d565b50565b80816001600160801b03161461093057600080fd5b815415806109645750815443908390600019810190811061094d57fe5b6000918252602090912001546001600160801b0316105b156109cb578154600090839061097d8260018301610bdd565b8154811061098757fe5b600091825260209091200180546001600160801b03848116600160801b024382166fffffffffffffffffffffffffffffffff19909316929092171617905550610a05565b8154600090839060001981019081106109e057fe5b600091825260209091200180546001600160801b03808516600160801b029116179055505b5050565b8154600090610a1a57506000610501565b825483906000198101908110610a2c57fe5b6000918252602090912001546001600160801b03168210610a7c57825483906000198101908110610a5957fe5b600091825260209091200154600160801b90046001600160801b03169050610501565b82600081548110610a8957fe5b6000918252602090912001546001600160801b0316821015610aad57506000610501565b8254600090600019015b81811115610b08576000600260018385010104905084868281548110610ad957fe5b6000918252602090912001546001600160801b031611610afb57809250610b02565b6001810391505b50610ab7565b848281548110610b1457fe5b600091825260209091200154600160801b90046001600160801b031695945050505050565b3390565b6001600160a01b038116610b825760405162461bcd60e51b8152600401808060200182810382526026815260200180610c256026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610c0157600083815260209020610c01918101908301610c06565b505050565b61051591905b80821115610c205760008155600101610c0c565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820f333d348cc1656fe9a619e02e86b4ec6a9253fa953fe547a17aa5dc8ce9f225864736f6c63430005110032", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/ERC20GuildUpgradeable.json b/src/contracts/ERC20GuildUpgradeable.json index 838ba4968..d9184985a 100644 --- a/src/contracts/ERC20GuildUpgradeable.json +++ b/src/contracts/ERC20GuildUpgradeable.json @@ -1,1170 +1,1314 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20GuildUpgradeable", - "sourceName": "dxdao-contracts/contracts/erc20guild/ERC20GuildUpgradeable.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newState", - "type": "uint256" - } - ], - "name": "ProposalStateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensLocked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "VoteAdded", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "MAX_OPTIONS_PER_PROPOSAL", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activeProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalOptions", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - } - ], - "name": "createProposal", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "endProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getActiveProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getName", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPermissionRegistry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getProposal", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - }, - { - "internalType": "uint256[]", - "name": "totalVotes", - "type": "uint256[]" - } - ], - "internalType": "struct BaseERC20Guild.Proposal", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getProposalVotesOfVoter", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIds", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIdsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "signedVoteHash", - "type": "bytes32" - } - ], - "name": "getSignedVote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTimeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTokenVault", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalMembers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getVoterLockTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "hashVote", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_permissionRegistry", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "lockTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "maxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposalsIds", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumMembersForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumTokensLockedForProposalCreation", - "type": "uint256" - } - ], - "name": "setConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "setSignedVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "setVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "signedVotes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenVault", - "outputs": [ - { - "internalType": "contract TokenVault", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tokensLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "voteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "votingPowerOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "withdrawTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50614c25806100206000396000f3fe608060405260043610620003855760003560e01c80635bc789d911620001d3578063ae61923411620000ff578063e0450353116200009b578063f4732da61162000075578063f4732da61462000a81578063f98606a71462000a98578063fc0c546a1462000ab0578063fc4e703f1462000ad257005b8063e04503531462000a0e578063e158080a1462000a26578063f09951981462000a3e57005b8063b7c15f8d11620000d9578063b7c15f8d14620009a4578063bcc3f3bd14620009bb578063c0a4d64d14620009e0578063c93e01e314620009f757005b8063ae6192341462000942578063b3929aaa146200095a578063b3b47061146200097f57005b806389c98c06116200016f578063a16fe3421162000149578063a16fe34214620008db578063a78d80fc14620008fb578063a7aeb5571462000913578063ad6c1e34146200092b57005b806389c98c0614620008885780638f180305146200089f57806392b7165414620008b657005b80636c8b72f611620001ad5780636c8b72f614620008015780636e27d889146200081857806377027ff4146200083d5780638029eff1146200085457005b80635bc789d914620007b05780635e508c2c14620007d257806364fe6ed214620007ea57005b80632467ef9411620002b357806336f8f8d9116200024f5780633f10cf1511620002295780633f10cf15146200072c578063430694cf146200074457806354f2f7af146200077857806356891412146200079857005b806336f8f8d914620006d75780633bf353fb14620006fc5780633de39c11146200071457005b80632d757c3e116200028d5780632d757c3e14620005f75780632fd99c001462000634578063315a095d146200067957806332ed5b12146200069e57005b80632467ef94146200059157806325c069fc14620005a85780632d5b17de14620005d257005b806313108d741162000323578063184a0ae911620002fd578063184a0ae914620005175780631a5007dd146200052f57806321df0da714620005465780632229a0e2146200057a57005b806313108d7414620004b557806316bbecde14620004da57806317d7de7c14620004ff57005b80630a366a6311620003615780630a366a63146200042c5780630d6680871462000453578063123f6d67146200046b578063130485fe146200049057005b80623a40d0146200038757806301a598a614620003b757806306fdde031462000405575b005b3480156200039457600080fd5b506200039f62000aea565b604051620003ae91906200369e565b60405180910390f35b348015620003c457600080fd5b50620003ef620003d636600462003701565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201620003ae565b3480156200041257600080fd5b506200041d62000b44565b604051620003ae91906200376f565b3480156200043957600080fd5b506200044462000bda565b604051908152602001620003ae565b3480156200046057600080fd5b5062000444600d5481565b3480156200047857600080fd5b50620003856200048a36600462003784565b62000c07565b3480156200049d57600080fd5b50620003ef620004af366004620037ed565b62000da0565b348015620004c257600080fd5b5062000444620004d436600462003a8a565b62000dd2565b348015620004e757600080fd5b5062000385620004f936600462003b74565b620013b9565b3480156200050c57600080fd5b506200041d62001500565b3480156200052457600080fd5b506200044460035481565b3480156200053c57600080fd5b50600a5462000444565b3480156200055357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001620003ae565b3480156200058757600080fd5b5060165462000444565b3480156200059e57600080fd5b50600c5462000444565b348015620005b557600080fd5b50620005bf600a81565b60405160ff9091168152602001620003ae565b348015620005df57600080fd5b5062000385620005f136600462003ba1565b62001591565b3480156200060457600080fd5b50620004446200061636600462003701565b6001600160a01b031660009081526012602052604090206001015490565b3480156200064157600080fd5b50620006686200065336600462003c12565b60136020526000908152604090205460ff1681565b6040519015158152602001620003ae565b3480156200068657600080fd5b50620003856200069836600462003c12565b6200185b565b348015620006ab57600080fd5b50620006c3620006bd36600462003c12565b62001ab6565b604051620003ae9695949392919062003c65565b348015620006e457600080fd5b5062000385620006f636600462003cc5565b62001c1a565b3480156200070957600080fd5b5062000444600c5481565b3480156200072157600080fd5b506200044460085481565b3480156200073957600080fd5b506200044460045481565b3480156200075157600080fd5b50620007696200076336600462003c12565b62001e87565b604051620003ae919062003e4d565b3480156200078557600080fd5b506011546001600160a01b031662000561565b348015620007a557600080fd5b5062000444600e5481565b348015620007bd57600080fd5b5060115462000561906001600160a01b031681565b348015620007df57600080fd5b506200044460055481565b348015620007f757600080fd5b5060105462000444565b3480156200080e57600080fd5b5060075462000444565b3480156200082557600080fd5b50620003856200083736600462003c12565b6200223a565b3480156200084a57600080fd5b5060095462000444565b3480156200086157600080fd5b50620006686200087336600462003c12565b60009081526013602052604090205460ff1690565b3480156200089557600080fd5b5060085462000444565b348015620008ac57600080fd5b50600b5462000444565b348015620008c357600080fd5b5062000444620008d536600462003f5a565b620023ca565b348015620008e857600080fd5b506001546001600160a01b031662000561565b3480156200090857600080fd5b5062000444600a5481565b3480156200092057600080fd5b5062000444600f5481565b3480156200093857600080fd5b50600f5462000444565b3480156200094f57600080fd5b506200044462002421565b3480156200096757600080fd5b50620004446200097936600462003c12565b6200243b565b3480156200098c57600080fd5b50620003856200099e36600462003c12565b6200245d565b348015620009b157600080fd5b5060045462000444565b348015620009c857600080fd5b5062000444620009da36600462003701565b62002daa565b348015620009ed57600080fd5b50600d5462000444565b34801562000a0457600080fd5b5060035462000444565b34801562000a1b57600080fd5b506200044460095481565b34801562000a3357600080fd5b506200044460105481565b34801562000a4b57600080fd5b50620003ef62000a5d366004620037ed565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000a8e57600080fd5b50600e5462000444565b34801562000aa557600080fd5b506200044460065481565b34801562000abd57600080fd5b5060005462000561906001600160a01b031681565b34801562000adf57600080fd5b506200044460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000b3a57602002820191906000526020600020905b81548152602001906001019080831162000b25575b5050505050905090565b6002805462000b539062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462000b819062003f96565b801562000bd25780601f1062000ba65761010080835404028352916020019162000bd2565b820191906000526020600020905b81548152906001019060200180831162000bb457829003601f168201915b505050505081565b600062000c0261271062000bfb60065462000bf4600e5490565b9062002dc5565b9062002dda565b905090565b33301462000c8d5760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000cb05760405162461bcd60e51b815260040162000c849062003fd3565b8983101562000cd35760405162461bcd60e51b815260040162000c849062004022565b6000881162000cf65760405162461bcd60e51b815260040162000c84906200407f565b6201c90886111562000d715760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000c84565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000e505760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000c84565b600f54600b54101562000ec25760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000c84565b600954600c541062000f365760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000c84565b62000f4062000bda565b62000f4b3362002daa565b101562000fb95760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000c84565b8551875114801562000fcc575084518751145b620010375760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000c84565b6000875111620010a45760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000c84565b86518411158015620010c157508451620010bf908562002de8565b155b620011355760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000c84565b600a841115620011ae5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000c84565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620012106001600a5462002df690919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b03191633178155426001820181905560035462001248919062002df6565b600282015588516200126490600383019060208c019062003425565b5087516200127c90600483019060208b01906200348f565b5086516200129490600583019060208a0190620034ef565b508451620012ac90600683019060208801906200352d565b508351620012c490600783019060208701906200352d565b50620012d286600162002df6565b67ffffffffffffffff811115620012ed57620012ed6200381c565b60405190808252806020026020018201604052801562001317578160200160208202803683370190505b50805162001330916009840191602090910190620034ef565b5060088101805460ff19166001908117909155600c54620013519162002df6565b600c558160008051602062004bd0833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000838152601560205260409020600201544210620013ec5760405162461bcd60e51b815260040162000c8490620040dc565b80620013f83362002daa565b10158015620014225750600083815260146020908152604080832033845290915290206001015481115b620014415760405162461bcd60e51b815260040162000c849062004127565b60008381526014602090815260408083203384529091529020541580156200148357506000838152601460209081526040808320338452909152902060010154155b80620014ce5750600083815260146020908152604080832033845290915290205482148015620014ce5750600083815260146020908152604080832033845290915290206001015481115b620014ed5760405162461bcd60e51b815260040162000c84906200416d565b620014fb3384848462002e04565b505050565b606060028054620015119062003f96565b80601f01602080910402602001604051908101604052809291908181526020018280546200153f9062003f96565b801562000b3a5780601f10620015645761010080835404028352916020019162000b3a565b820191906000526020600020905b8154815290600101906020018083116200157257509395945050505050565b6000858152601560205260409020600201544210620015c45760405162461bcd60e51b815260040162000c8490620040dc565b6000620015d483878787620023ca565b60008181526013602052604090205490915060ff1615620016385760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000c84565b6200169c8262001695836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003065565b6001600160a01b0316836001600160a01b031614620016fe5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000c84565b6000818152601360205260409020805460ff1916600117905583620017238462002daa565b1015801562001756575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620017755760405162461bcd60e51b815260040162000c849062004127565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620017c9575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001826575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001826575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620018455760405162461bcd60e51b815260040162000c84906200416d565b620018538387878762002e04565b505050505050565b80620018673362002daa565b1015620018d65760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000c84565b336000908152601260205260409020600101544211620019395760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000c84565b60008111620019b15760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000c84565b33600090815260126020526040902054620019cd90826200308d565b33600090815260126020526040902055600e54620019ec90826200308d565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001a3c57600080fd5b505af115801562001a51573d6000803e3d6000fd5b5050505062001a603362002daa565b62001a7957600b5462001a759060016200308d565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001af29062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462001b209062003f96565b801562001b715780601f1062001b455761010080835404028352916020019162001b71565b820191906000526020600020905b81548152906001019060200180831162001b5357829003601f168201915b50505050509080600701805462001b889062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462001bb69062003f96565b801562001c075780601f1062001bdb5761010080835404028352916020019162001c07565b820191906000526020600020905b81548152906001019060200180831162001be957829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001c3a5750601754610100900460ff16155b62001c9f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000c84565b60175462010000900460ff1615801562001cc5576017805462ffff001916620101001790555b6001600160a01b038c1662001d2c5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000c84565b60008b1162001d4f5760405162461bcd60e51b815260040162000c849062003fd3565b8a83101562001d725760405162461bcd60e51b815260040162000c849062004022565b6000891162001d955760405162461bcd60e51b815260040162000c84906200407f565b865162001daa9060029060208a01906200352d565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001dd990620035a9565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001e0d573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001e79576017805462ff0000191690555b505050505050505050505050565b62001e91620035b7565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001f2657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001f07575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156200200a57838290600052602060002001805462001f769062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462001fa49062003f96565b801562001ff55780601f1062001fc95761010080835404028352916020019162001ff5565b820191906000526020600020905b81548152906001019060200180831162001fd757829003601f168201915b50505050508152602001906001019062001f54565b505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156200206357602002820191906000526020600020905b8154815260200190600101908083116200204e575b505050505081526020016006820180546200207e9062003f96565b80601f0160208091040260200160405190810160405280929190818152602001828054620020ac9062003f96565b8015620020fd5780601f10620020d157610100808354040283529160200191620020fd565b820191906000526020600020905b815481529060010190602001808311620020df57829003601f168201915b50505050508152602001600782018054620021189062003f96565b80601f0160208091040260200160405190810160405280929190818152602001828054620021469062003f96565b8015620021975780601f106200216b5761010080835404028352916020019162002197565b820191906000526020600020905b8154815290600101906020018083116200217957829003601f168201915b5050509183525050600882015460209091019060ff166004811115620021c157620021c162003c2c565b6004811115620021d557620021d562003c2c565b8152602001600982018054806020026020016040519081016040528092919081815260200182805480156200222a57602002820191906000526020600020905b81548152602001906001019080831162002215575b5050505050815250509050919050565b60008111620022a75760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000c84565b620022b23362002daa565b620022cb57600b54620022c790600162002df6565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b1580156200231857600080fd5b505af11580156200232d573d6000803e3d6000fd5b5050336000908152601260205260409020546200234e925090508262002df6565b33600090815260126020526040902055600d546200236e90429062002df6565b33600090815260126020526040902060010155600e5462002390908262002df6565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001aab565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062000c0261271062000bfb60055462000bf4600e5490565b601681815481106200244c57600080fd5b600091825260209091200154905081565b60175460ff1615620024be5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000c84565b600160008281526015602052604090206008015460ff166004811115620024e957620024e962003c2c565b14620025465760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000c84565b6000818152601560205260409020600201544211620025b65760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000c84565b600081815260156020526040812060090180548291908290620025dd57620025dd620041d4565b600091825260209091200154905060015b6000848152601560205260409020600901548110156200271d576200261262002421565b6000858152601560205260409020600901805483908110620026385762002638620041d4565b9060005260206000200154101580156200268457506000848152601560205260409020600901805483919083908110620026765762002676620041d4565b906000526020600020015410155b1562002708576000848152601560205260409020600901805483919083908110620026b357620026b3620041d4565b90600052602060002001541415620026cf576000925062002708565b60008481526015602052604090206009018054919350839182908110620026fa57620026fa620041d4565b906000526020600020015491505b80620027148162004200565b915050620025ee565b826200276d576000848152601560205260409020600801805460ff19166002908117909155849060008051602062004bd0833981519152905b60405190815260200160405180910390a262002d91565b600454600085815260156020526040902060020154429162002790919062002df6565b1015620027cf576000848152601560205260409020600801805460ff19166004908117909155849060008051602062004bd08339815191529062002756565b600084815260156020526040812060088101805460ff19166003179055600901546200281b90620028029060016200308d565b6000878152601560205260409020600301549062002dda565b9050620028366200282e8560016200308d565b829062002dc5565b9150600062002846838362002df6565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200289957600080fd5b505af1158015620028ae573d6000803e3d6000fd5b505050505b8083101562002ce8576000868152601560205260408120600301805485908110620028e257620028e2620041d4565b6000918252602090912001546001600160a01b0316148015906200294257506000868152601560205260408120600401805485908110620029275762002927620041d4565b9060005260206000200180546200293e9062003f96565b9050115b1562002cd35760008681526015602052604081206004018054859081106200296e576200296e620041d4565b906000526020600020018054620029859062003f96565b80601f0160208091040260200160405190810160405280929190818152602001828054620029b39062003f96565b801562002a045780601f10620029d85761010080835404028352916020019162002a04565b820191906000526020600020905b815481529060010190602001808311620029e657829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062002a525762002a52620041d4565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a8154811062002a9b5762002a9b620041d4565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801562002b0057600080fd5b505af192505050801562002b12575060015b62002b6e5762002b216200421e565b806308c379a0141562002b62575062002b396200423b565b8062002b46575062002b64565b8060405162461bcd60e51b815260040162000c8491906200376f565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811062002ba15762002ba1620041d4565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b03909216918890811062002be05762002be0620041d4565b9060005260206000200154601560008c8152602001908152602001600020600401888154811062002c155762002c15620041d4565b9060005260206000200160405162002c2e9190620042cb565b60006040518083038185875af1925050503d806000811462002c6d576040519150601f19603f3d011682016040523d82523d6000602084013e62002c72565b606091505b505090508062002cc55760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000c84565b50506017805460ff19169055505b8262002cdf8162004200565b935050620028b3565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801562002d2e57600080fd5b505af115801562002d43573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d6991906200436f565b508560008051602062004bd0833981519152600360405190815260200160405180910390a250505b600c5462002da19060016200308d565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b600062002dd3828462004393565b9392505050565b600062002dd38284620043cb565b600062002dd38284620043e2565b600062002dd38284620043f9565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462002e7a92849262002e73928790811062002e595762002e59620041d4565b90600052602060002001546200308d90919063ffffffff16565b9062002df6565b600084815260156020526040902060090180548490811062002ea05762002ea0620041d4565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462002f07856001600160a01b031660009081526012602052604090206001015490565b101562002f3c576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a3600754156200305f57600062002fb262002fa86008543a6200309b90919063ffffffff16565b6007549062002dc5565b905080471015801562002fc45750333b155b156200305d57604051600090339083908381818185875af1925050503d80600081146200300e576040519150601f19603f3d011682016040523d82523d6000602084013e62003013565b606091505b5050905080620018535760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000c84565b505b50505050565b6000806000620030768585620030b3565b91509150620030858162003129565b509392505050565b600062002dd3828462004414565b6000818310620030ac578162002dd3565b5090919050565b600080825160411415620030ee5760208301516040840151606085015160001a620030e187828585620032ff565b9450945050505062000dcb565b8251604014156200311c576020830151604084015162003110868383620033f4565b93509350505062000dcb565b5060009050600262000dcb565b600081600481111562003140576200314062003c2c565b14156200314a5750565b600181600481111562003161576200316162003c2c565b1415620031b15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000c84565b6002816004811115620031c857620031c862003c2c565b1415620032185760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000c84565b60038160048111156200322f576200322f62003c2c565b14156200328a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000c84565b6004816004811115620032a157620032a162003c2c565b1415620032fc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000c84565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620033385750600090506003620033eb565b8460ff16601b141580156200335157508460ff16601c14155b15620033645750600090506004620033eb565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015620033b9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116620033e457600060019250925050620033eb565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b016200341787828885620032ff565b935093505050935093915050565b8280548282559060005260206000209081019282156200347d579160200282015b828111156200347d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003446565b506200348b92915062003627565b5090565b828054828255906000526020600020908101928215620034e1579160200282015b82811115620034e15782518051620034d09184916020909101906200352d565b5091602001919060010190620034b0565b506200348b9291506200363e565b8280548282559060005260206000209081019282156200347d579160200282015b828111156200347d57825182559160200191906001019062003510565b8280546200353b9062003f96565b90600052602060002090601f0160209004810192826200355f57600085556200347d565b82601f106200357a57805160ff19168380011785556200347d565b828001600101855582156200347d57918201828111156200347d57825182559160200191906001019062003510565b6107a1806200442f83390190565b60405180610140016040528060006001600160a01b0316815260200160008152602001600081526020016060815260200160608152602001606081526020016060815260200160608152602001600060048111156200361a576200361a62003c2c565b8152602001606081525090565b5b808211156200348b576000815560010162003628565b808211156200348b5760006200365582826200365f565b506001016200363e565b5080546200366d9062003f96565b6000825580601f106200367e575050565b601f016020900490600052602060002090810190620032fc919062003627565b6020808252825182820181905260009190848201906040850190845b81811015620036d857835183529284019291840191600101620036ba565b50909695505050505050565b80356001600160a01b0381168114620036fc57600080fd5b919050565b6000602082840312156200371457600080fd5b62002dd382620036e4565b6000815180845260005b81811015620037475760208185018101518683018201520162003729565b818111156200375a576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062002dd360208301846200371f565b6000806000806000806000806000806101408b8d031215620037a557600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200380157600080fd5b823591506200381360208401620036e4565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156200385b576200385b6200381c565b6040525050565b600067ffffffffffffffff8211156200387f576200387f6200381c565b5060051b60200190565b600082601f8301126200389b57600080fd5b81356020620038aa8262003862565b604051620038b9828262003832565b83815260059390931b8501820192828101915086841115620038da57600080fd5b8286015b848110156200390057620038f281620036e4565b8352918301918301620038de565b509695505050505050565b600082601f8301126200391d57600080fd5b813567ffffffffffffffff8111156200393a576200393a6200381c565b60405162003953601f8301601f19166020018262003832565b8181528460208386010111156200396957600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200399857600080fd5b81356020620039a78262003862565b604051620039b6828262003832565b83815260059390931b8501820192828101915086841115620039d757600080fd5b8286015b848110156200390057803567ffffffffffffffff811115620039fd5760008081fd5b62003a0d8986838b01016200390b565b845250918301918301620039db565b600082601f83011262003a2e57600080fd5b8135602062003a3d8262003862565b60405162003a4c828262003832565b83815260059390931b850182019282810191508684111562003a6d57600080fd5b8286015b8481101562003900578035835291830191830162003a71565b60008060008060008060c0878903121562003aa457600080fd5b863567ffffffffffffffff8082111562003abd57600080fd5b62003acb8a838b0162003889565b9750602089013591508082111562003ae257600080fd5b62003af08a838b0162003986565b9650604089013591508082111562003b0757600080fd5b62003b158a838b0162003a1c565b955060608901359450608089013591508082111562003b3357600080fd5b62003b418a838b016200390b565b935060a089013591508082111562003b5857600080fd5b5062003b6789828a016200390b565b9150509295509295509295565b60008060006060848603121562003b8a57600080fd5b505081359360208301359350604090920135919050565b600080600080600060a0868803121562003bba57600080fd5b85359450602086013593506040860135925062003bda60608701620036e4565b9150608086013567ffffffffffffffff81111562003bf757600080fd5b62003c05888289016200390b565b9150509295509295909350565b60006020828403121562003c2557600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811062003c6157634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062003c9460c08301866200371f565b828103608084015262003ca881866200371f565b91505062003cba60a083018462003c42565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562003ce857600080fd5b62003cf38c620036e4565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff81111562003d2c57600080fd5b62003d3a8e828f016200390b565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062003d6a6101408d01620036e4565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b8381101562003db75781516001600160a01b03168752958201959082019060010162003d90565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b8581101562003e0e57828403895262003dfb8483516200371f565b9885019893509084019060010162003de0565b5091979650505050505050565b600081518084526020808501945080840160005b8381101562003db75781518752958201959082019060010162003e2f565b6020815262003e686020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015262003e9c61016085018362003d7c565b91506080850151601f19808685030160a087015262003ebc848362003dc2565b935060a08701519150808685030160c087015262003edb848362003e1b565b935060c08701519150808685030160e087015262003efa84836200371f565b935060e0870151915061010081878603018188015262003f1b85846200371f565b94508088015192505061012062003f358188018462003c42565b87015186850390910183870152905062003f50838262003e1b565b9695505050505050565b6000806000806080858703121562003f7157600080fd5b62003f7c85620036e4565b966020860135965060408601359560600135945092505050565b600181811c9082168062003fab57607f821691505b6020821081141562003fcd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620042175762004217620041ea565b5060010190565b600060033d1115620042385760046000803e5060005160e01c5b90565b600060443d10156200424a5790565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156200427b57505050505090565b8285019150815181811115620042945750505050505090565b843d8701016020828501011115620042af5750505050505090565b620042c06020828601018762003832565b509095945050505050565b600080835481600182811c915080831680620042e857607f831692505b60208084108214156200430957634e487b7160e01b86526022600452602486fd5b818015620043205760018114620043325762004361565b60ff1986168952848901965062004361565b60008a81526020902060005b86811015620043595781548b8201529085019083016200433e565b505084890196505b509498975050505050505050565b6000602082840312156200438257600080fd5b8151801515811462002dd357600080fd5b6000816000190483118215151615620043b057620043b0620041ea565b500290565b634e487b7160e01b600052601260045260246000fd5b600082620043dd57620043dd620043b5565b500490565b600082620043f457620043f4620043b5565b500690565b600082198211156200440f576200440f620041ea565b500190565b600082821015620044295762004429620041ea565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212205d55f88fc0a1a4fa11f8d4123739d62c609e7ed1646f53d1cafa7becb1aed98c64736f6c63430008080033", - "deployedBytecode": "0x608060405260043610620003855760003560e01c80635bc789d911620001d3578063ae61923411620000ff578063e0450353116200009b578063f4732da61162000075578063f4732da61462000a81578063f98606a71462000a98578063fc0c546a1462000ab0578063fc4e703f1462000ad257005b8063e04503531462000a0e578063e158080a1462000a26578063f09951981462000a3e57005b8063b7c15f8d11620000d9578063b7c15f8d14620009a4578063bcc3f3bd14620009bb578063c0a4d64d14620009e0578063c93e01e314620009f757005b8063ae6192341462000942578063b3929aaa146200095a578063b3b47061146200097f57005b806389c98c06116200016f578063a16fe3421162000149578063a16fe34214620008db578063a78d80fc14620008fb578063a7aeb5571462000913578063ad6c1e34146200092b57005b806389c98c0614620008885780638f180305146200089f57806392b7165414620008b657005b80636c8b72f611620001ad5780636c8b72f614620008015780636e27d889146200081857806377027ff4146200083d5780638029eff1146200085457005b80635bc789d914620007b05780635e508c2c14620007d257806364fe6ed214620007ea57005b80632467ef9411620002b357806336f8f8d9116200024f5780633f10cf1511620002295780633f10cf15146200072c578063430694cf146200074457806354f2f7af146200077857806356891412146200079857005b806336f8f8d914620006d75780633bf353fb14620006fc5780633de39c11146200071457005b80632d757c3e116200028d5780632d757c3e14620005f75780632fd99c001462000634578063315a095d146200067957806332ed5b12146200069e57005b80632467ef94146200059157806325c069fc14620005a85780632d5b17de14620005d257005b806313108d741162000323578063184a0ae911620002fd578063184a0ae914620005175780631a5007dd146200052f57806321df0da714620005465780632229a0e2146200057a57005b806313108d7414620004b557806316bbecde14620004da57806317d7de7c14620004ff57005b80630a366a6311620003615780630a366a63146200042c5780630d6680871462000453578063123f6d67146200046b578063130485fe146200049057005b80623a40d0146200038757806301a598a614620003b757806306fdde031462000405575b005b3480156200039457600080fd5b506200039f62000aea565b604051620003ae91906200369e565b60405180910390f35b348015620003c457600080fd5b50620003ef620003d636600462003701565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201620003ae565b3480156200041257600080fd5b506200041d62000b44565b604051620003ae91906200376f565b3480156200043957600080fd5b506200044462000bda565b604051908152602001620003ae565b3480156200046057600080fd5b5062000444600d5481565b3480156200047857600080fd5b50620003856200048a36600462003784565b62000c07565b3480156200049d57600080fd5b50620003ef620004af366004620037ed565b62000da0565b348015620004c257600080fd5b5062000444620004d436600462003a8a565b62000dd2565b348015620004e757600080fd5b5062000385620004f936600462003b74565b620013b9565b3480156200050c57600080fd5b506200041d62001500565b3480156200052457600080fd5b506200044460035481565b3480156200053c57600080fd5b50600a5462000444565b3480156200055357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001620003ae565b3480156200058757600080fd5b5060165462000444565b3480156200059e57600080fd5b50600c5462000444565b348015620005b557600080fd5b50620005bf600a81565b60405160ff9091168152602001620003ae565b348015620005df57600080fd5b5062000385620005f136600462003ba1565b62001591565b3480156200060457600080fd5b50620004446200061636600462003701565b6001600160a01b031660009081526012602052604090206001015490565b3480156200064157600080fd5b50620006686200065336600462003c12565b60136020526000908152604090205460ff1681565b6040519015158152602001620003ae565b3480156200068657600080fd5b50620003856200069836600462003c12565b6200185b565b348015620006ab57600080fd5b50620006c3620006bd36600462003c12565b62001ab6565b604051620003ae9695949392919062003c65565b348015620006e457600080fd5b5062000385620006f636600462003cc5565b62001c1a565b3480156200070957600080fd5b5062000444600c5481565b3480156200072157600080fd5b506200044460085481565b3480156200073957600080fd5b506200044460045481565b3480156200075157600080fd5b50620007696200076336600462003c12565b62001e87565b604051620003ae919062003e4d565b3480156200078557600080fd5b506011546001600160a01b031662000561565b348015620007a557600080fd5b5062000444600e5481565b348015620007bd57600080fd5b5060115462000561906001600160a01b031681565b348015620007df57600080fd5b506200044460055481565b348015620007f757600080fd5b5060105462000444565b3480156200080e57600080fd5b5060075462000444565b3480156200082557600080fd5b50620003856200083736600462003c12565b6200223a565b3480156200084a57600080fd5b5060095462000444565b3480156200086157600080fd5b50620006686200087336600462003c12565b60009081526013602052604090205460ff1690565b3480156200089557600080fd5b5060085462000444565b348015620008ac57600080fd5b50600b5462000444565b348015620008c357600080fd5b5062000444620008d536600462003f5a565b620023ca565b348015620008e857600080fd5b506001546001600160a01b031662000561565b3480156200090857600080fd5b5062000444600a5481565b3480156200092057600080fd5b5062000444600f5481565b3480156200093857600080fd5b50600f5462000444565b3480156200094f57600080fd5b506200044462002421565b3480156200096757600080fd5b50620004446200097936600462003c12565b6200243b565b3480156200098c57600080fd5b50620003856200099e36600462003c12565b6200245d565b348015620009b157600080fd5b5060045462000444565b348015620009c857600080fd5b5062000444620009da36600462003701565b62002daa565b348015620009ed57600080fd5b50600d5462000444565b34801562000a0457600080fd5b5060035462000444565b34801562000a1b57600080fd5b506200044460095481565b34801562000a3357600080fd5b506200044460105481565b34801562000a4b57600080fd5b50620003ef62000a5d366004620037ed565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000a8e57600080fd5b50600e5462000444565b34801562000aa557600080fd5b506200044460065481565b34801562000abd57600080fd5b5060005462000561906001600160a01b031681565b34801562000adf57600080fd5b506200044460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000b3a57602002820191906000526020600020905b81548152602001906001019080831162000b25575b5050505050905090565b6002805462000b539062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462000b819062003f96565b801562000bd25780601f1062000ba65761010080835404028352916020019162000bd2565b820191906000526020600020905b81548152906001019060200180831162000bb457829003601f168201915b505050505081565b600062000c0261271062000bfb60065462000bf4600e5490565b9062002dc5565b9062002dda565b905090565b33301462000c8d5760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000cb05760405162461bcd60e51b815260040162000c849062003fd3565b8983101562000cd35760405162461bcd60e51b815260040162000c849062004022565b6000881162000cf65760405162461bcd60e51b815260040162000c84906200407f565b6201c90886111562000d715760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000c84565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000e505760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000c84565b600f54600b54101562000ec25760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000c84565b600954600c541062000f365760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000c84565b62000f4062000bda565b62000f4b3362002daa565b101562000fb95760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000c84565b8551875114801562000fcc575084518751145b620010375760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000c84565b6000875111620010a45760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000c84565b86518411158015620010c157508451620010bf908562002de8565b155b620011355760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000c84565b600a841115620011ae5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000c84565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620012106001600a5462002df690919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b03191633178155426001820181905560035462001248919062002df6565b600282015588516200126490600383019060208c019062003425565b5087516200127c90600483019060208b01906200348f565b5086516200129490600583019060208a0190620034ef565b508451620012ac90600683019060208801906200352d565b508351620012c490600783019060208701906200352d565b50620012d286600162002df6565b67ffffffffffffffff811115620012ed57620012ed6200381c565b60405190808252806020026020018201604052801562001317578160200160208202803683370190505b50805162001330916009840191602090910190620034ef565b5060088101805460ff19166001908117909155600c54620013519162002df6565b600c558160008051602062004bd0833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000838152601560205260409020600201544210620013ec5760405162461bcd60e51b815260040162000c8490620040dc565b80620013f83362002daa565b10158015620014225750600083815260146020908152604080832033845290915290206001015481115b620014415760405162461bcd60e51b815260040162000c849062004127565b60008381526014602090815260408083203384529091529020541580156200148357506000838152601460209081526040808320338452909152902060010154155b80620014ce5750600083815260146020908152604080832033845290915290205482148015620014ce5750600083815260146020908152604080832033845290915290206001015481115b620014ed5760405162461bcd60e51b815260040162000c84906200416d565b620014fb3384848462002e04565b505050565b606060028054620015119062003f96565b80601f01602080910402602001604051908101604052809291908181526020018280546200153f9062003f96565b801562000b3a5780601f10620015645761010080835404028352916020019162000b3a565b820191906000526020600020905b8154815290600101906020018083116200157257509395945050505050565b6000858152601560205260409020600201544210620015c45760405162461bcd60e51b815260040162000c8490620040dc565b6000620015d483878787620023ca565b60008181526013602052604090205490915060ff1615620016385760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000c84565b6200169c8262001695836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003065565b6001600160a01b0316836001600160a01b031614620016fe5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000c84565b6000818152601360205260409020805460ff1916600117905583620017238462002daa565b1015801562001756575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620017755760405162461bcd60e51b815260040162000c849062004127565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620017c9575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001826575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001826575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620018455760405162461bcd60e51b815260040162000c84906200416d565b620018538387878762002e04565b505050505050565b80620018673362002daa565b1015620018d65760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000c84565b336000908152601260205260409020600101544211620019395760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000c84565b60008111620019b15760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000c84565b33600090815260126020526040902054620019cd90826200308d565b33600090815260126020526040902055600e54620019ec90826200308d565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001a3c57600080fd5b505af115801562001a51573d6000803e3d6000fd5b5050505062001a603362002daa565b62001a7957600b5462001a759060016200308d565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001af29062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462001b209062003f96565b801562001b715780601f1062001b455761010080835404028352916020019162001b71565b820191906000526020600020905b81548152906001019060200180831162001b5357829003601f168201915b50505050509080600701805462001b889062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462001bb69062003f96565b801562001c075780601f1062001bdb5761010080835404028352916020019162001c07565b820191906000526020600020905b81548152906001019060200180831162001be957829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001c3a5750601754610100900460ff16155b62001c9f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000c84565b60175462010000900460ff1615801562001cc5576017805462ffff001916620101001790555b6001600160a01b038c1662001d2c5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000c84565b60008b1162001d4f5760405162461bcd60e51b815260040162000c849062003fd3565b8a83101562001d725760405162461bcd60e51b815260040162000c849062004022565b6000891162001d955760405162461bcd60e51b815260040162000c84906200407f565b865162001daa9060029060208a01906200352d565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001dd990620035a9565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001e0d573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001e79576017805462ff0000191690555b505050505050505050505050565b62001e91620035b7565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001f2657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001f07575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156200200a57838290600052602060002001805462001f769062003f96565b80601f016020809104026020016040519081016040528092919081815260200182805462001fa49062003f96565b801562001ff55780601f1062001fc95761010080835404028352916020019162001ff5565b820191906000526020600020905b81548152906001019060200180831162001fd757829003601f168201915b50505050508152602001906001019062001f54565b505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156200206357602002820191906000526020600020905b8154815260200190600101908083116200204e575b505050505081526020016006820180546200207e9062003f96565b80601f0160208091040260200160405190810160405280929190818152602001828054620020ac9062003f96565b8015620020fd5780601f10620020d157610100808354040283529160200191620020fd565b820191906000526020600020905b815481529060010190602001808311620020df57829003601f168201915b50505050508152602001600782018054620021189062003f96565b80601f0160208091040260200160405190810160405280929190818152602001828054620021469062003f96565b8015620021975780601f106200216b5761010080835404028352916020019162002197565b820191906000526020600020905b8154815290600101906020018083116200217957829003601f168201915b5050509183525050600882015460209091019060ff166004811115620021c157620021c162003c2c565b6004811115620021d557620021d562003c2c565b8152602001600982018054806020026020016040519081016040528092919081815260200182805480156200222a57602002820191906000526020600020905b81548152602001906001019080831162002215575b5050505050815250509050919050565b60008111620022a75760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000c84565b620022b23362002daa565b620022cb57600b54620022c790600162002df6565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b1580156200231857600080fd5b505af11580156200232d573d6000803e3d6000fd5b5050336000908152601260205260409020546200234e925090508262002df6565b33600090815260126020526040902055600d546200236e90429062002df6565b33600090815260126020526040902060010155600e5462002390908262002df6565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001aab565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062000c0261271062000bfb60055462000bf4600e5490565b601681815481106200244c57600080fd5b600091825260209091200154905081565b60175460ff1615620024be5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000c84565b600160008281526015602052604090206008015460ff166004811115620024e957620024e962003c2c565b14620025465760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000c84565b6000818152601560205260409020600201544211620025b65760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000c84565b600081815260156020526040812060090180548291908290620025dd57620025dd620041d4565b600091825260209091200154905060015b6000848152601560205260409020600901548110156200271d576200261262002421565b6000858152601560205260409020600901805483908110620026385762002638620041d4565b9060005260206000200154101580156200268457506000848152601560205260409020600901805483919083908110620026765762002676620041d4565b906000526020600020015410155b1562002708576000848152601560205260409020600901805483919083908110620026b357620026b3620041d4565b90600052602060002001541415620026cf576000925062002708565b60008481526015602052604090206009018054919350839182908110620026fa57620026fa620041d4565b906000526020600020015491505b80620027148162004200565b915050620025ee565b826200276d576000848152601560205260409020600801805460ff19166002908117909155849060008051602062004bd0833981519152905b60405190815260200160405180910390a262002d91565b600454600085815260156020526040902060020154429162002790919062002df6565b1015620027cf576000848152601560205260409020600801805460ff19166004908117909155849060008051602062004bd08339815191529062002756565b600084815260156020526040812060088101805460ff19166003179055600901546200281b90620028029060016200308d565b6000878152601560205260409020600301549062002dda565b9050620028366200282e8560016200308d565b829062002dc5565b9150600062002846838362002df6565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200289957600080fd5b505af1158015620028ae573d6000803e3d6000fd5b505050505b8083101562002ce8576000868152601560205260408120600301805485908110620028e257620028e2620041d4565b6000918252602090912001546001600160a01b0316148015906200294257506000868152601560205260408120600401805485908110620029275762002927620041d4565b9060005260206000200180546200293e9062003f96565b9050115b1562002cd35760008681526015602052604081206004018054859081106200296e576200296e620041d4565b906000526020600020018054620029859062003f96565b80601f0160208091040260200160405190810160405280929190818152602001828054620029b39062003f96565b801562002a045780601f10620029d85761010080835404028352916020019162002a04565b820191906000526020600020905b815481529060010190602001808311620029e657829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062002a525762002a52620041d4565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a8154811062002a9b5762002a9b620041d4565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801562002b0057600080fd5b505af192505050801562002b12575060015b62002b6e5762002b216200421e565b806308c379a0141562002b62575062002b396200423b565b8062002b46575062002b64565b8060405162461bcd60e51b815260040162000c8491906200376f565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811062002ba15762002ba1620041d4565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b03909216918890811062002be05762002be0620041d4565b9060005260206000200154601560008c8152602001908152602001600020600401888154811062002c155762002c15620041d4565b9060005260206000200160405162002c2e9190620042cb565b60006040518083038185875af1925050503d806000811462002c6d576040519150601f19603f3d011682016040523d82523d6000602084013e62002c72565b606091505b505090508062002cc55760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000c84565b50506017805460ff19169055505b8262002cdf8162004200565b935050620028b3565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801562002d2e57600080fd5b505af115801562002d43573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d6991906200436f565b508560008051602062004bd0833981519152600360405190815260200160405180910390a250505b600c5462002da19060016200308d565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b600062002dd3828462004393565b9392505050565b600062002dd38284620043cb565b600062002dd38284620043e2565b600062002dd38284620043f9565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462002e7a92849262002e73928790811062002e595762002e59620041d4565b90600052602060002001546200308d90919063ffffffff16565b9062002df6565b600084815260156020526040902060090180548490811062002ea05762002ea0620041d4565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462002f07856001600160a01b031660009081526012602052604090206001015490565b101562002f3c576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a3600754156200305f57600062002fb262002fa86008543a6200309b90919063ffffffff16565b6007549062002dc5565b905080471015801562002fc45750333b155b156200305d57604051600090339083908381818185875af1925050503d80600081146200300e576040519150601f19603f3d011682016040523d82523d6000602084013e62003013565b606091505b5050905080620018535760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000c84565b505b50505050565b6000806000620030768585620030b3565b91509150620030858162003129565b509392505050565b600062002dd3828462004414565b6000818310620030ac578162002dd3565b5090919050565b600080825160411415620030ee5760208301516040840151606085015160001a620030e187828585620032ff565b9450945050505062000dcb565b8251604014156200311c576020830151604084015162003110868383620033f4565b93509350505062000dcb565b5060009050600262000dcb565b600081600481111562003140576200314062003c2c565b14156200314a5750565b600181600481111562003161576200316162003c2c565b1415620031b15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000c84565b6002816004811115620031c857620031c862003c2c565b1415620032185760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000c84565b60038160048111156200322f576200322f62003c2c565b14156200328a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000c84565b6004816004811115620032a157620032a162003c2c565b1415620032fc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000c84565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620033385750600090506003620033eb565b8460ff16601b141580156200335157508460ff16601c14155b15620033645750600090506004620033eb565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015620033b9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116620033e457600060019250925050620033eb565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b016200341787828885620032ff565b935093505050935093915050565b8280548282559060005260206000209081019282156200347d579160200282015b828111156200347d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003446565b506200348b92915062003627565b5090565b828054828255906000526020600020908101928215620034e1579160200282015b82811115620034e15782518051620034d09184916020909101906200352d565b5091602001919060010190620034b0565b506200348b9291506200363e565b8280548282559060005260206000209081019282156200347d579160200282015b828111156200347d57825182559160200191906001019062003510565b8280546200353b9062003f96565b90600052602060002090601f0160209004810192826200355f57600085556200347d565b82601f106200357a57805160ff19168380011785556200347d565b828001600101855582156200347d57918201828111156200347d57825182559160200191906001019062003510565b6107a1806200442f83390190565b60405180610140016040528060006001600160a01b0316815260200160008152602001600081526020016060815260200160608152602001606081526020016060815260200160608152602001600060048111156200361a576200361a62003c2c565b8152602001606081525090565b5b808211156200348b576000815560010162003628565b808211156200348b5760006200365582826200365f565b506001016200363e565b5080546200366d9062003f96565b6000825580601f106200367e575050565b601f016020900490600052602060002090810190620032fc919062003627565b6020808252825182820181905260009190848201906040850190845b81811015620036d857835183529284019291840191600101620036ba565b50909695505050505050565b80356001600160a01b0381168114620036fc57600080fd5b919050565b6000602082840312156200371457600080fd5b62002dd382620036e4565b6000815180845260005b81811015620037475760208185018101518683018201520162003729565b818111156200375a576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062002dd360208301846200371f565b6000806000806000806000806000806101408b8d031215620037a557600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200380157600080fd5b823591506200381360208401620036e4565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156200385b576200385b6200381c565b6040525050565b600067ffffffffffffffff8211156200387f576200387f6200381c565b5060051b60200190565b600082601f8301126200389b57600080fd5b81356020620038aa8262003862565b604051620038b9828262003832565b83815260059390931b8501820192828101915086841115620038da57600080fd5b8286015b848110156200390057620038f281620036e4565b8352918301918301620038de565b509695505050505050565b600082601f8301126200391d57600080fd5b813567ffffffffffffffff8111156200393a576200393a6200381c565b60405162003953601f8301601f19166020018262003832565b8181528460208386010111156200396957600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200399857600080fd5b81356020620039a78262003862565b604051620039b6828262003832565b83815260059390931b8501820192828101915086841115620039d757600080fd5b8286015b848110156200390057803567ffffffffffffffff811115620039fd5760008081fd5b62003a0d8986838b01016200390b565b845250918301918301620039db565b600082601f83011262003a2e57600080fd5b8135602062003a3d8262003862565b60405162003a4c828262003832565b83815260059390931b850182019282810191508684111562003a6d57600080fd5b8286015b8481101562003900578035835291830191830162003a71565b60008060008060008060c0878903121562003aa457600080fd5b863567ffffffffffffffff8082111562003abd57600080fd5b62003acb8a838b0162003889565b9750602089013591508082111562003ae257600080fd5b62003af08a838b0162003986565b9650604089013591508082111562003b0757600080fd5b62003b158a838b0162003a1c565b955060608901359450608089013591508082111562003b3357600080fd5b62003b418a838b016200390b565b935060a089013591508082111562003b5857600080fd5b5062003b6789828a016200390b565b9150509295509295509295565b60008060006060848603121562003b8a57600080fd5b505081359360208301359350604090920135919050565b600080600080600060a0868803121562003bba57600080fd5b85359450602086013593506040860135925062003bda60608701620036e4565b9150608086013567ffffffffffffffff81111562003bf757600080fd5b62003c05888289016200390b565b9150509295509295909350565b60006020828403121562003c2557600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811062003c6157634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062003c9460c08301866200371f565b828103608084015262003ca881866200371f565b91505062003cba60a083018462003c42565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562003ce857600080fd5b62003cf38c620036e4565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff81111562003d2c57600080fd5b62003d3a8e828f016200390b565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062003d6a6101408d01620036e4565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b8381101562003db75781516001600160a01b03168752958201959082019060010162003d90565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b8581101562003e0e57828403895262003dfb8483516200371f565b9885019893509084019060010162003de0565b5091979650505050505050565b600081518084526020808501945080840160005b8381101562003db75781518752958201959082019060010162003e2f565b6020815262003e686020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015262003e9c61016085018362003d7c565b91506080850151601f19808685030160a087015262003ebc848362003dc2565b935060a08701519150808685030160c087015262003edb848362003e1b565b935060c08701519150808685030160e087015262003efa84836200371f565b935060e0870151915061010081878603018188015262003f1b85846200371f565b94508088015192505061012062003f358188018462003c42565b87015186850390910183870152905062003f50838262003e1b565b9695505050505050565b6000806000806080858703121562003f7157600080fd5b62003f7c85620036e4565b966020860135965060408601359560600135945092505050565b600181811c9082168062003fab57607f821691505b6020821081141562003fcd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620042175762004217620041ea565b5060010190565b600060033d1115620042385760046000803e5060005160e01c5b90565b600060443d10156200424a5790565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156200427b57505050505090565b8285019150815181811115620042945750505050505090565b843d8701016020828501011115620042af5750505050505090565b620042c06020828601018762003832565b509095945050505050565b600080835481600182811c915080831680620042e857607f831692505b60208084108214156200430957634e487b7160e01b86526022600452602486fd5b818015620043205760018114620043325762004361565b60ff1986168952848901965062004361565b60008a81526020902060005b86811015620043595781548b8201529085019083016200433e565b505084890196505b509498975050505050505050565b6000602082840312156200438257600080fd5b8151801515811462002dd357600080fd5b6000816000190483118215151615620043b057620043b0620041ea565b500290565b634e487b7160e01b600052601260045260246000fd5b600082620043dd57620043dd620043b5565b500490565b600082620043f457620043f4620043b5565b500690565b600082198211156200440f576200440f620041ea565b500190565b600082821015620044295762004429620041ea565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212205d55f88fc0a1a4fa11f8d4123739d62c609e7ed1646f53d1cafa7becb1aed98c64736f6c63430008080033", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC20GuildUpgradeable", + "sourceName": "dxdao-contracts/contracts/erc20guild/ERC20GuildUpgradeable.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newState", + "type": "uint256" + } + ], + "name": "ProposalStateChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "VoteAdded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "MAX_OPTIONS_PER_PROPOSAL", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activeProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "totalOptions", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + } + ], + "name": "createProposal", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "endProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "executeSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "roots", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "voters", + "type": "address[]" + }, + { + "internalType": "bytes32[]", + "name": "votesHashes", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[][]", + "name": "proofs", + "type": "bytes32[][]" + }, + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeSignedVotesBatches", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeVotes", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getActiveProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getName", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPermissionRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + }, + { + "internalType": "uint256[]", + "name": "totalVotes", + "type": "uint256[]" + } + ], + "internalType": "struct BaseERC20Guild.Proposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getProposalVotesOfVoter", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIds", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIdsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "signedVoteHash", + "type": "bytes32" + } + ], + "name": "getSignedVote", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTimeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTokenVault", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalMembers", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getVoterLockTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "hashVote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_permissionRegistry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "lockTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "proposalVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposalsIds", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumMembersForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumTokensLockedForProposalCreation", + "type": "uint256" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "setSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "setVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "signedVotes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "timeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20Upgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenVault", + "outputs": [ + { + "internalType": "contract TokenVault", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tokensLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "validateMerkleTreeLeaf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "voteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "votingPowerOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdrawTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50615954806100206000396000f3fe608060405260043610620003b55760003560e01c806364fe6ed211620001eb578063ad6c1e34116200010b578063c93e01e311620000a7578063f4732da61162000075578063f4732da61462000b54578063f98606a71462000b6b578063fc0c546a1462000b83578063fc4e703f1462000ba557005b8063c93e01e31462000aca578063e04503531462000ae1578063e158080a1462000af9578063f09951981462000b1157005b8063b3b4706111620000e5578063b3b470611462000a52578063b7c15f8d1462000a77578063bcc3f3bd1462000a8e578063c0a4d64d1462000ab357005b8063ad6c1e3414620009fe578063ae6192341462000a15578063b3929aaa1462000a2d57005b806389c98c061162000187578063a16fe3421162000155578063a16fe3421462000989578063a78d80fc14620009a9578063a7aeb55714620009c1578063ab6ea06b14620009d957005b806389c98c0614620009115780638bb8591e14620009285780638f180305146200094d57806392b71654146200096457005b80636e27d88911620001c55780636e27d889146200087c57806377027ff414620008a15780638029eff114620008b857806386e2712514620008ec57005b806364fe6ed2146200081a578063671abed714620008315780636c8b72f6146200086557005b806325c069fc11620002d75780633bf353fb116200027357806354f2f7af116200024157806354f2f7af14620007a85780635689141214620007c85780635bc789d914620007e05780635e508c2c146200080257005b80633bf353fb146200072c5780633de39c1114620007445780633f10cf15146200075c578063430694cf146200077457005b80632fd99c0011620002b15780632fd99c001462000664578063315a095d14620006a957806332ed5b1214620006ce57806336f8f8d9146200070757005b806325c069fc14620005d85780632d5b17de14620006025780632d757c3e146200062757005b806313108d7411620003535780631a5007dd11620003215780631a5007dd146200055f57806321df0da714620005765780632229a0e214620005aa5780632467ef9414620005c157005b806313108d7414620004e557806316bbecde146200050a57806317d7de7c146200052f578063184a0ae9146200054757005b80630a366a6311620003915780630a366a63146200045c5780630d6680871462000483578063123f6d67146200049b578063130485fe14620004c057005b80623a40d014620003b757806301a598a614620003e757806306fdde031462000435575b005b348015620003c457600080fd5b50620003cf62000bbd565b604051620003de919062004079565b60405180910390f35b348015620003f457600080fd5b506200041f62000406366004620040dc565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201620003de565b3480156200044257600080fd5b506200044d62000c17565b604051620003de91906200414a565b3480156200046957600080fd5b506200047462000cad565b604051908152602001620003de565b3480156200049057600080fd5b5062000474600d5481565b348015620004a857600080fd5b50620003b5620004ba3660046200415f565b62000cda565b348015620004cd57600080fd5b506200041f620004df366004620041c8565b62000e73565b348015620004f257600080fd5b50620004746200050436600462004461565b62000ea5565b3480156200051757600080fd5b50620003b5620005293660046200454a565b6200148b565b3480156200053c57600080fd5b506200044d620015d2565b3480156200055457600080fd5b506200047460035481565b3480156200056c57600080fd5b50600a5462000474565b3480156200058357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001620003de565b348015620005b757600080fd5b5060165462000474565b348015620005ce57600080fd5b50600c5462000474565b348015620005e557600080fd5b50620005ef600a81565b60405160ff9091168152602001620003de565b3480156200060f57600080fd5b50620003b56200062136600462004577565b62001663565b3480156200063457600080fd5b506200047462000646366004620040dc565b6001600160a01b031660009081526012602052604090206001015490565b3480156200067157600080fd5b506200069862000683366004620045e7565b60136020526000908152604090205460ff1681565b6040519015158152602001620003de565b348015620006b657600080fd5b50620003b5620006c8366004620045e7565b62001929565b348015620006db57600080fd5b50620006f3620006ed366004620045e7565b62001b84565b604051620003de969594939291906200463a565b3480156200071457600080fd5b50620003b5620007263660046200469a565b62001ce8565b3480156200073957600080fd5b5062000474600c5481565b3480156200075157600080fd5b506200047460085481565b3480156200076957600080fd5b506200047460045481565b3480156200078157600080fd5b506200079962000793366004620045e7565b62001f55565b604051620003de919062004821565b348015620007b557600080fd5b506011546001600160a01b031662000591565b348015620007d557600080fd5b5062000474600e5481565b348015620007ed57600080fd5b5060115462000591906001600160a01b031681565b3480156200080f57600080fd5b506200047460055481565b3480156200082757600080fd5b5060105462000474565b3480156200083e57600080fd5b5062000856620008503660046200492e565b62002308565b604051620003de9190620049bf565b3480156200087257600080fd5b5060075462000474565b3480156200088957600080fd5b50620003b56200089b366004620045e7565b62002779565b348015620008ae57600080fd5b5060095462000474565b348015620008c557600080fd5b5062000698620008d7366004620045e7565b60009081526013602052604090205460ff1690565b348015620008f957600080fd5b50620003b56200090b366004620049fb565b62002909565b3480156200091e57600080fd5b5060085462000474565b3480156200093557600080fd5b50620003b56200094736600462004b11565b62002bc8565b3480156200095a57600080fd5b50600b5462000474565b3480156200097157600080fd5b50620004746200098336600462004c41565b62002cc9565b3480156200099657600080fd5b506001546001600160a01b031662000591565b348015620009b657600080fd5b5062000474600a5481565b348015620009ce57600080fd5b5062000474600f5481565b348015620009e657600080fd5b5062000698620009f836600462004c7d565b62002d20565b34801562000a0b57600080fd5b50600f5462000474565b34801562000a2257600080fd5b506200047462002d37565b34801562000a3a57600080fd5b506200047462000a4c366004620045e7565b62002d51565b34801562000a5f57600080fd5b50620003b562000a71366004620045e7565b62002d73565b34801562000a8457600080fd5b5060045462000474565b34801562000a9b57600080fd5b506200047462000aad366004620040dc565b620036c0565b34801562000ac057600080fd5b50600d5462000474565b34801562000ad757600080fd5b5060035462000474565b34801562000aee57600080fd5b506200047460095481565b34801562000b0657600080fd5b506200047460105481565b34801562000b1e57600080fd5b506200041f62000b30366004620041c8565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000b6157600080fd5b50600e5462000474565b34801562000b7857600080fd5b506200047460065481565b34801562000b9057600080fd5b5060005462000591906001600160a01b031681565b34801562000bb257600080fd5b506200047460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c0d57602002820191906000526020600020905b81548152602001906001019080831162000bf8575b5050505050905090565b6002805462000c269062004cc6565b80601f016020809104026020016040519081016040528092919081815260200182805462000c549062004cc6565b801562000ca55780601f1062000c795761010080835404028352916020019162000ca5565b820191906000526020600020905b81548152906001019060200180831162000c8757829003601f168201915b505050505081565b600062000cd561271062000cce60065462000cc7600e5490565b90620036db565b90620036f0565b905090565b33301462000d605760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000d835760405162461bcd60e51b815260040162000d579062004d03565b8983101562000da65760405162461bcd60e51b815260040162000d579062004d52565b6000881162000dc95760405162461bcd60e51b815260040162000d579062004daf565b6201c90886111562000e445760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000d57565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000f235760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000d57565b600f54600b54101562000f955760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000d57565b600954600c5410620010095760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000d57565b6200101362000cad565b6200101e33620036c0565b10156200108c5760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000d57565b855187511480156200109f575084518751145b6200110a5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000d57565b6000875111620011775760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000d57565b865184111580156200119457508451620011929085620036fe565b155b620012085760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000d57565b600a841115620012815760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000d57565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620012e36001600a546200370c90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546200131b91906200370c565b600282015588516200133790600383019060208c019062003e00565b5087516200134f90600483019060208b019062003e6a565b5086516200136790600583019060208a019062003eca565b5084516200137f906006830190602088019062003f08565b50835162001397906007830190602087019062003f08565b50620013a58660016200370c565b6001600160401b03811115620013bf57620013bf620041f7565b604051908082528060200260200182016040528015620013e9578160200160208202803683370190505b5080516200140291600984019160209091019062003eca565b5060088101805460ff19166001908117909155600c5462001423916200370c565b600c5581600080516020620058ff833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000838152601560205260409020600201544210620014be5760405162461bcd60e51b815260040162000d579062004e0c565b80620014ca33620036c0565b10158015620014f45750600083815260146020908152604080832033845290915290206001015481115b620015135760405162461bcd60e51b815260040162000d579062004e57565b60008381526014602090815260408083203384529091529020541580156200155557506000838152601460209081526040808320338452909152902060010154155b80620015a05750600083815260146020908152604080832033845290915290205482148015620015a05750600083815260146020908152604080832033845290915290206001015481115b620015bf5760405162461bcd60e51b815260040162000d579062004e9d565b620015cd338484846200371a565b505050565b606060028054620015e39062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620016119062004cc6565b801562000c0d5780601f10620016365761010080835404028352916020019162000c0d565b820191906000526020600020905b8154815290600101906020018083116200164457509395945050505050565b6000858152601560205260409020600201544210620016965760405162461bcd60e51b815260040162000d579062004e0c565b6000620016a68387878762002cc9565b60008181526013602052604090205490915060ff1615620017065760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000d57565b6200176a8262001763836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b906200397b565b6001600160a01b0316836001600160a01b031614620017cc5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000d57565b6000818152601360205260409020805460ff1916600117905583620017f184620036c0565b1015801562001824575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620018435760405162461bcd60e51b815260040162000d579062004e57565b60008681526014602090815260408083206001600160a01b038716845290915290205415801562001897575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b80620018f4575060008681526014602090815260408083206001600160a01b038716845290915290205485148015620018f4575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620019135760405162461bcd60e51b815260040162000d579062004e9d565b62001921838787876200371a565b505050505050565b806200193533620036c0565b1015620019a45760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000d57565b33600090815260126020526040902060010154421162001a075760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000d57565b6000811162001a7f5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000d57565b3360009081526012602052604090205462001a9b9082620039a3565b33600090815260126020526040902055600e5462001aba9082620039a3565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001b0a57600080fd5b505af115801562001b1f573d6000803e3d6000fd5b5050505062001b2e33620036c0565b62001b4757600b5462001b43906001620039a3565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001bc09062004cc6565b80601f016020809104026020016040519081016040528092919081815260200182805462001bee9062004cc6565b801562001c3f5780601f1062001c135761010080835404028352916020019162001c3f565b820191906000526020600020905b81548152906001019060200180831162001c2157829003601f168201915b50505050509080600701805462001c569062004cc6565b80601f016020809104026020016040519081016040528092919081815260200182805462001c849062004cc6565b801562001cd55780601f1062001ca95761010080835404028352916020019162001cd5565b820191906000526020600020905b81548152906001019060200180831162001cb757829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001d085750601754610100900460ff16155b62001d6d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000d57565b60175462010000900460ff1615801562001d93576017805462ffff001916620101001790555b6001600160a01b038c1662001dfa5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000d57565b60008b1162001e1d5760405162461bcd60e51b815260040162000d579062004d03565b8a83101562001e405760405162461bcd60e51b815260040162000d579062004d52565b6000891162001e635760405162461bcd60e51b815260040162000d579062004daf565b865162001e789060029060208a019062003f08565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001ea79062003f84565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001edb573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001f47576017805462ff0000191690555b505050505050505050505050565b62001f5f62003f92565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001ff457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001fd5575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015620020d8578382906000526020600020018054620020449062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620020729062004cc6565b8015620020c35780601f106200209757610100808354040283529160200191620020c3565b820191906000526020600020905b815481529060010190602001808311620020a557829003601f168201915b50505050508152602001906001019062002022565b505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156200213157602002820191906000526020600020905b8154815260200190600101908083116200211c575b505050505081526020016006820180546200214c9062004cc6565b80601f01602080910402602001604051908101604052809291908181526020018280546200217a9062004cc6565b8015620021cb5780601f106200219f57610100808354040283529160200191620021cb565b820191906000526020600020905b815481529060010190602001808311620021ad57829003601f168201915b50505050508152602001600782018054620021e69062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620022149062004cc6565b8015620022655780601f10620022395761010080835404028352916020019162002265565b820191906000526020600020905b8154815290600101906020018083116200224757829003601f168201915b5050509183525050600882015460209091019060ff1660048111156200228f576200228f62004601565b6004811115620022a357620022a362004601565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015620022f857602002820191906000526020600020905b815481526020019060010190808311620022e3575b5050505050815250509050919050565b6060825184511480156200231d575081518351145b620023915760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000d57565b60008085516001600160401b03811115620023b057620023b0620041f7565b604051908082528060200260200182016040528015620023da578160200160208202803683370190505b509050600091505b85518210156200277057426015600088858151811062002406576200240662004f04565b60200260200101518152602001908152602001600020600201541015620024545760008183815181106200243e576200243e62004f04565b911515602092830291909101909101526200275b565b83828151811062002469576200246962004f04565b60200260200101516200247c33620036c0565b1080620024f95750601460008784815181106200249d576200249d62004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154848381518110620024ef57620024ef62004f04565b6020026020010151105b15620025165760008183815181106200243e576200243e62004f04565b601460008784815181106200252f576200252f62004f04565b602090810291909101810151825281810192909252604090810160009081203382529092529020541580620025b957506014600087848151811062002578576200257862004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b8015620026b35750848281518110620025d657620025d662004f04565b602002602001015160146000888581518110620025f757620025f762004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206000015414158015620026b3575083828151811062002653576200265362004f04565b60200260200101516014600088858151811062002674576200267462004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b15620026d05760008183815181106200243e576200243e62004f04565b6001818381518110620026e757620026e762004f04565b6020026020010190151590811515815250506200275b3387848151811062002713576200271362004f04565b602002602001015187858151811062002730576200273062004f04565b60200260200101518786815181106200274d576200274d62004f04565b60200260200101516200371a565b81620027678162004f30565b925050620023e2565b95945050505050565b60008111620027e65760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000d57565b620027f133620036c0565b6200280a57600b54620028069060016200370c565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b1580156200285757600080fd5b505af11580156200286c573d6000803e3d6000fd5b5050336000908152601260205260409020546200288d92509050826200370c565b33600090815260126020526040902055600d54620028ad9042906200370c565b33600090815260126020526040902060010155600e54620028cf90826200370c565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001b79565b6000620029198785858562002cc9565b90508581146200296c5760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000d57565b60008181526013602052604090205460ff1615620029c95760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000d57565b6000620029d889888862002d20565b90508062002a355760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000d57565b600085815260156020526040902060020154421062002a685760405162461bcd60e51b815260040162000d579062004e0c565b8262002a7489620036c0565b1015801562002aa7575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002ac65760405162461bcd60e51b815260040162000d579062004e57565b60008581526014602090815260408083206001600160a01b038c16845290915290205415801562002b1a575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b8062002b77575060008581526014602090815260408083206001600160a01b038c1684529091529020548414801562002b77575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002b965760405162461bcd60e51b815260040162000d579062004e9d565b6000828152601360205260409020805460ff1916600117905562002bbd888686866200371a565b505050505050505050565b60005b875181101562002cbf5762002caa88828151811062002bee5762002bee62004f04565b602002602001015188838151811062002c0b5762002c0b62004f04565b602002602001015188848151811062002c285762002c2862004f04565b602002602001015188858151811062002c455762002c4562004f04565b602002602001015188868151811062002c625762002c6262004f04565b602002602001015188878151811062002c7f5762002c7f62004f04565b602002602001015188888151811062002c9c5762002c9c62004f04565b602002602001015162002909565b8062002cb68162004f30565b91505062002bcb565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062002d2f828585620039b1565b949350505050565b600062000cd561271062000cce60055462000cc7600e5490565b6016818154811062002d6257600080fd5b600091825260209091200154905081565b60175460ff161562002dd45760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000d57565b600160008281526015602052604090206008015460ff16600481111562002dff5762002dff62004601565b1462002e5c5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000d57565b600081815260156020526040902060020154421162002ecc5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000d57565b60008181526015602052604081206009018054829190829062002ef35762002ef362004f04565b600091825260209091200154905060015b600084815260156020526040902060090154811015620030335762002f2862002d37565b600085815260156020526040902060090180548390811062002f4e5762002f4e62004f04565b90600052602060002001541015801562002f9a5750600084815260156020526040902060090180548391908390811062002f8c5762002f8c62004f04565b906000526020600020015410155b156200301e57600084815260156020526040902060090180548391908390811062002fc95762002fc962004f04565b9060005260206000200154141562002fe557600092506200301e565b6000848152601560205260409020600901805491935083918290811062003010576200301062004f04565b906000526020600020015491505b806200302a8162004f30565b91505062002f04565b8262003083576000848152601560205260409020600801805460ff191660029081179091558490600080516020620058ff833981519152905b60405190815260200160405180910390a2620036a7565b6004546000858152601560205260409020600201544291620030a691906200370c565b1015620030e5576000848152601560205260409020600801805460ff191660049081179091558490600080516020620058ff833981519152906200306c565b600084815260156020526040812060088101805460ff1916600317905560090154620031319062003118906001620039a3565b60008781526015602052604090206003015490620036f0565b90506200314c62003144856001620039a3565b8290620036db565b915060006200315c83836200370c565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620031af57600080fd5b505af1158015620031c4573d6000803e3d6000fd5b505050505b80831015620035fe576000868152601560205260408120600301805485908110620031f857620031f862004f04565b6000918252602090912001546001600160a01b03161480159062003258575060008681526015602052604081206004018054859081106200323d576200323d62004f04565b906000526020600020018054620032549062004cc6565b9050115b15620035e957600086815260156020526040812060040180548590811062003284576200328462004f04565b9060005260206000200180546200329b9062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620032c99062004cc6565b80156200331a5780601f10620032ee576101008083540402835291602001916200331a565b820191906000526020600020905b815481529060010190602001808311620032fc57829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062003368576200336862004f04565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a81548110620033b157620033b162004f04565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200341657600080fd5b505af192505050801562003428575060015b62003484576200343762004f4e565b806308c379a014156200347857506200344f62004f6b565b806200345c57506200347a565b8060405162461bcd60e51b815260040162000d5791906200414a565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000888152601560205260408120600301805487908110620034b757620034b762004f04565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b039092169188908110620034f657620034f662004f04565b9060005260206000200154601560008c815260200190815260200160002060040188815481106200352b576200352b62004f04565b9060005260206000200160405162003544919062004ffa565b60006040518083038185875af1925050503d806000811462003583576040519150601f19603f3d011682016040523d82523d6000602084013e62003588565b606091505b5050905080620035db5760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000d57565b50506017805460ff19169055505b82620035f58162004f30565b935050620031c9565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156200364457600080fd5b505af115801562003659573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200367f91906200509e565b5085600080516020620058ff833981519152600360405190815260200160405180910390a250505b600c54620036b7906001620039a3565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b6000620036e98284620050c2565b9392505050565b6000620036e98284620050fa565b6000620036e9828462005111565b6000620036e9828462005128565b60008381526014602090815260408083206001600160a01b038816845282528083206001015486845260159092529091206009018054620037909284926200378992879081106200376f576200376f62004f04565b9060005260206000200154620039a390919063ffffffff16565b906200370c565b6000848152601560205260409020600901805484908110620037b657620037b662004f04565b60009182526020808320909101929092558481526014825260408082206001600160a01b03881683528352808220858155600101849055858252601590925220600201546200381d856001600160a01b031660009081526012602052604090206001015490565b101562003852576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003975576000620038c8620038be6008543a620039c990919063ffffffff16565b60075490620036db565b9050804710158015620038da5750333b155b156200397357604051600090339083908381818185875af1925050503d806000811462003924576040519150601f19603f3d011682016040523d82523d6000602084013e62003929565b606091505b5050905080620019215760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000d57565b505b50505050565b60008060006200398c8585620039e1565b915091506200399b8162003a57565b509392505050565b6000620036e9828462005143565b600082620039c0858462003c2d565b14949350505050565b6000818310620039da5781620036e9565b5090919050565b60008082516041141562003a1c5760208301516040840151606085015160001a62003a0f8782858562003cda565b9450945050505062000e9e565b82516040141562003a4a576020830151604084015162003a3e86838362003dcf565b93509350505062000e9e565b5060009050600262000e9e565b600081600481111562003a6e5762003a6e62004601565b141562003a785750565b600181600481111562003a8f5762003a8f62004601565b141562003adf5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000d57565b600281600481111562003af65762003af662004601565b141562003b465760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000d57565b600381600481111562003b5d5762003b5d62004601565b141562003bb85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000d57565b600481600481111562003bcf5762003bcf62004601565b141562003c2a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000d57565b50565b600081815b84518110156200399b57600085828151811062003c535762003c5362004f04565b6020026020010151905080831162003c9757604080516020810185905290810182905260600160405160208183030381529060405280519060200120925062003cc4565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b508062003cd18162004f30565b91505062003c32565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111562003d13575060009050600362003dc6565b8460ff16601b1415801562003d2c57508460ff16601c14155b1562003d3f575060009050600462003dc6565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562003d94573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662003dbf5760006001925092505062003dc6565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b0162003df28782888562003cda565b935093505050935093915050565b82805482825590600052602060002090810192821562003e58579160200282015b8281111562003e5857825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003e21565b5062003e6692915062004002565b5090565b82805482825590600052602060002090810192821562003ebc579160200282015b8281111562003ebc578251805162003eab91849160209091019062003f08565b509160200191906001019062003e8b565b5062003e6692915062004019565b82805482825590600052602060002090810192821562003e58579160200282015b8281111562003e5857825182559160200191906001019062003eeb565b82805462003f169062004cc6565b90600052602060002090601f01602090048101928262003f3a576000855562003e58565b82601f1062003f5557805160ff191683800117855562003e58565b8280016001018555821562003e58579182018281111562003e5857825182559160200191906001019062003eeb565b6107a1806200515e83390190565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003ff55762003ff562004601565b8152602001606081525090565b5b8082111562003e66576000815560010162004003565b8082111562003e665760006200403082826200403a565b5060010162004019565b508054620040489062004cc6565b6000825580601f1062004059575050565b601f01602090049060005260206000209081019062003c2a919062004002565b6020808252825182820181905260009190848201906040850190845b81811015620040b35783518352928401929184019160010162004095565b50909695505050505050565b80356001600160a01b0381168114620040d757600080fd5b919050565b600060208284031215620040ef57600080fd5b620036e982620040bf565b6000815180845260005b81811015620041225760208185018101518683018201520162004104565b8181111562004135576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620036e96020830184620040fa565b6000806000806000806000806000806101408b8d0312156200418057600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60008060408385031215620041dc57600080fd5b82359150620041ee60208401620040bf565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715620042355762004235620041f7565b6040525050565b60006001600160401b03821115620042585762004258620041f7565b5060051b60200190565b600082601f8301126200427457600080fd5b8135602062004283826200423c565b6040516200429282826200420d565b83815260059390931b8501820192828101915086841115620042b357600080fd5b8286015b84811015620042d957620042cb81620040bf565b8352918301918301620042b7565b509695505050505050565b600082601f830112620042f657600080fd5b81356001600160401b03811115620043125762004312620041f7565b6040516200432b601f8301601f1916602001826200420d565b8181528460208386010111156200434157600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200437057600080fd5b813560206200437f826200423c565b6040516200438e82826200420d565b83815260059390931b8501820192828101915086841115620043af57600080fd5b8286015b84811015620042d95780356001600160401b03811115620043d45760008081fd5b620043e48986838b0101620042e4565b845250918301918301620043b3565b600082601f8301126200440557600080fd5b8135602062004414826200423c565b6040516200442382826200420d565b83815260059390931b85018201928281019150868411156200444457600080fd5b8286015b84811015620042d9578035835291830191830162004448565b60008060008060008060c087890312156200447b57600080fd5b86356001600160401b03808211156200449357600080fd5b620044a18a838b0162004262565b97506020890135915080821115620044b857600080fd5b620044c68a838b016200435e565b96506040890135915080821115620044dd57600080fd5b620044eb8a838b01620043f3565b95506060890135945060808901359150808211156200450957600080fd5b620045178a838b01620042e4565b935060a08901359150808211156200452e57600080fd5b506200453d89828a01620042e4565b9150509295509295509295565b6000806000606084860312156200456057600080fd5b505081359360208301359350604090920135919050565b600080600080600060a086880312156200459057600080fd5b853594506020860135935060408601359250620045b060608701620040bf565b915060808601356001600160401b03811115620045cc57600080fd5b620045da88828901620042e4565b9150509295509295909350565b600060208284031215620045fa57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600581106200463657634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006200466960c0830186620040fa565b82810360808401526200467d8186620040fa565b9150506200468f60a083018462004617565b979650505050505050565b60008060008060008060008060008060006101608c8e031215620046bd57600080fd5b620046c88c620040bf565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b038111156200470057600080fd5b6200470e8e828f01620042e4565b96505060c08c0135945060e08c013593506101008c013592506101208c013591506200473e6101408d01620040bf565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b838110156200478b5781516001600160a01b03168752958201959082019060010162004764565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015620047e2578284038952620047cf848351620040fa565b98850198935090840190600101620047b4565b5091979650505050505050565b600081518084526020808501945080840160005b838110156200478b5781518752958201959082019060010162004803565b602081526200483c6020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200487061016085018362004750565b91506080850151601f19808685030160a087015262004890848362004796565b935060a08701519150808685030160c0870152620048af8483620047ef565b935060c08701519150808685030160e0870152620048ce8483620040fa565b935060e08701519150610100818786030181880152620048ef8584620040fa565b945080880151925050610120620049098188018462004617565b870151868503909101838701529050620049248382620047ef565b9695505050505050565b6000806000606084860312156200494457600080fd5b83356001600160401b03808211156200495c57600080fd5b6200496a87838801620043f3565b945060208601359150808211156200498157600080fd5b6200498f87838801620043f3565b93506040860135915080821115620049a657600080fd5b50620049b586828701620043f3565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b81811015620040b3578351151583529284019291840191600101620049db565b600080600080600080600060e0888a03121562004a1757600080fd5b8735965062004a2960208901620040bf565b95506040880135945060608801356001600160401b0381111562004a4c57600080fd5b62004a5a8a828b01620043f3565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f83011262004a8e57600080fd5b8135602062004a9d826200423c565b60405162004aac82826200420d565b83815260059390931b850182019282810191508684111562004acd57600080fd5b8286015b84811015620042d95780356001600160401b0381111562004af25760008081fd5b62004b028986838b0101620043f3565b84525091830191830162004ad1565b600080600080600080600060e0888a03121562004b2d57600080fd5b87356001600160401b038082111562004b4557600080fd5b62004b538b838c01620043f3565b985060208a013591508082111562004b6a57600080fd5b62004b788b838c0162004262565b975060408a013591508082111562004b8f57600080fd5b62004b9d8b838c01620043f3565b965060608a013591508082111562004bb457600080fd5b62004bc28b838c0162004a7c565b955060808a013591508082111562004bd957600080fd5b62004be78b838c01620043f3565b945060a08a013591508082111562004bfe57600080fd5b62004c0c8b838c01620043f3565b935060c08a013591508082111562004c2357600080fd5b5062004c328a828b01620043f3565b91505092959891949750929550565b6000806000806080858703121562004c5857600080fd5b62004c6385620040bf565b966020860135965060408601359560600135945092505050565b60008060006060848603121562004c9357600080fd5b833592506020840135915060408401356001600160401b0381111562004cb857600080fd5b620049b586828701620043f3565b600181811c9082168062004cdb57607f821691505b6020821081141562004cfd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562004f475762004f4762004f1a565b5060010190565b600060033d111562004f685760046000803e5060005160e01c5b90565b600060443d101562004f7a5790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171562004faa57505050505090565b828501915081518181111562004fc35750505050505090565b843d870101602082850101111562004fde5750505050505090565b62004fef602082860101876200420d565b509095945050505050565b600080835481600182811c9150808316806200501757607f831692505b60208084108214156200503857634e487b7160e01b86526022600452602486fd5b8180156200504f5760018114620050615762005090565b60ff1986168952848901965062005090565b60008a81526020902060005b86811015620050885781548b8201529085019083016200506d565b505084890196505b509498975050505050505050565b600060208284031215620050b157600080fd5b81518015158114620036e957600080fd5b6000816000190483118215151615620050df57620050df62004f1a565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200510c576200510c620050e4565b500490565b600082620051235762005123620050e4565b500690565b600082198211156200513e576200513e62004f1a565b500190565b60008282101562005158576200515862004f1a565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220195bac2ded020048afbbc8dcc00be9fa4ee6f03475f19e293e27b0781c5a522764736f6c63430008080033", + "deployedBytecode": "0x608060405260043610620003b55760003560e01c806364fe6ed211620001eb578063ad6c1e34116200010b578063c93e01e311620000a7578063f4732da61162000075578063f4732da61462000b54578063f98606a71462000b6b578063fc0c546a1462000b83578063fc4e703f1462000ba557005b8063c93e01e31462000aca578063e04503531462000ae1578063e158080a1462000af9578063f09951981462000b1157005b8063b3b4706111620000e5578063b3b470611462000a52578063b7c15f8d1462000a77578063bcc3f3bd1462000a8e578063c0a4d64d1462000ab357005b8063ad6c1e3414620009fe578063ae6192341462000a15578063b3929aaa1462000a2d57005b806389c98c061162000187578063a16fe3421162000155578063a16fe3421462000989578063a78d80fc14620009a9578063a7aeb55714620009c1578063ab6ea06b14620009d957005b806389c98c0614620009115780638bb8591e14620009285780638f180305146200094d57806392b71654146200096457005b80636e27d88911620001c55780636e27d889146200087c57806377027ff414620008a15780638029eff114620008b857806386e2712514620008ec57005b806364fe6ed2146200081a578063671abed714620008315780636c8b72f6146200086557005b806325c069fc11620002d75780633bf353fb116200027357806354f2f7af116200024157806354f2f7af14620007a85780635689141214620007c85780635bc789d914620007e05780635e508c2c146200080257005b80633bf353fb146200072c5780633de39c1114620007445780633f10cf15146200075c578063430694cf146200077457005b80632fd99c0011620002b15780632fd99c001462000664578063315a095d14620006a957806332ed5b1214620006ce57806336f8f8d9146200070757005b806325c069fc14620005d85780632d5b17de14620006025780632d757c3e146200062757005b806313108d7411620003535780631a5007dd11620003215780631a5007dd146200055f57806321df0da714620005765780632229a0e214620005aa5780632467ef9414620005c157005b806313108d7414620004e557806316bbecde146200050a57806317d7de7c146200052f578063184a0ae9146200054757005b80630a366a6311620003915780630a366a63146200045c5780630d6680871462000483578063123f6d67146200049b578063130485fe14620004c057005b80623a40d014620003b757806301a598a614620003e757806306fdde031462000435575b005b348015620003c457600080fd5b50620003cf62000bbd565b604051620003de919062004079565b60405180910390f35b348015620003f457600080fd5b506200041f62000406366004620040dc565b6012602052600090815260409020805460019091015482565b60408051928352602083019190915201620003de565b3480156200044257600080fd5b506200044d62000c17565b604051620003de91906200414a565b3480156200046957600080fd5b506200047462000cad565b604051908152602001620003de565b3480156200049057600080fd5b5062000474600d5481565b348015620004a857600080fd5b50620003b5620004ba3660046200415f565b62000cda565b348015620004cd57600080fd5b506200041f620004df366004620041c8565b62000e73565b348015620004f257600080fd5b50620004746200050436600462004461565b62000ea5565b3480156200051757600080fd5b50620003b5620005293660046200454a565b6200148b565b3480156200053c57600080fd5b506200044d620015d2565b3480156200055457600080fd5b506200047460035481565b3480156200056c57600080fd5b50600a5462000474565b3480156200058357600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001620003de565b348015620005b757600080fd5b5060165462000474565b348015620005ce57600080fd5b50600c5462000474565b348015620005e557600080fd5b50620005ef600a81565b60405160ff9091168152602001620003de565b3480156200060f57600080fd5b50620003b56200062136600462004577565b62001663565b3480156200063457600080fd5b506200047462000646366004620040dc565b6001600160a01b031660009081526012602052604090206001015490565b3480156200067157600080fd5b506200069862000683366004620045e7565b60136020526000908152604090205460ff1681565b6040519015158152602001620003de565b348015620006b657600080fd5b50620003b5620006c8366004620045e7565b62001929565b348015620006db57600080fd5b50620006f3620006ed366004620045e7565b62001b84565b604051620003de969594939291906200463a565b3480156200071457600080fd5b50620003b5620007263660046200469a565b62001ce8565b3480156200073957600080fd5b5062000474600c5481565b3480156200075157600080fd5b506200047460085481565b3480156200076957600080fd5b506200047460045481565b3480156200078157600080fd5b506200079962000793366004620045e7565b62001f55565b604051620003de919062004821565b348015620007b557600080fd5b506011546001600160a01b031662000591565b348015620007d557600080fd5b5062000474600e5481565b348015620007ed57600080fd5b5060115462000591906001600160a01b031681565b3480156200080f57600080fd5b506200047460055481565b3480156200082757600080fd5b5060105462000474565b3480156200083e57600080fd5b5062000856620008503660046200492e565b62002308565b604051620003de9190620049bf565b3480156200087257600080fd5b5060075462000474565b3480156200088957600080fd5b50620003b56200089b366004620045e7565b62002779565b348015620008ae57600080fd5b5060095462000474565b348015620008c557600080fd5b5062000698620008d7366004620045e7565b60009081526013602052604090205460ff1690565b348015620008f957600080fd5b50620003b56200090b366004620049fb565b62002909565b3480156200091e57600080fd5b5060085462000474565b3480156200093557600080fd5b50620003b56200094736600462004b11565b62002bc8565b3480156200095a57600080fd5b50600b5462000474565b3480156200097157600080fd5b50620004746200098336600462004c41565b62002cc9565b3480156200099657600080fd5b506001546001600160a01b031662000591565b348015620009b657600080fd5b5062000474600a5481565b348015620009ce57600080fd5b5062000474600f5481565b348015620009e657600080fd5b5062000698620009f836600462004c7d565b62002d20565b34801562000a0b57600080fd5b50600f5462000474565b34801562000a2257600080fd5b506200047462002d37565b34801562000a3a57600080fd5b506200047462000a4c366004620045e7565b62002d51565b34801562000a5f57600080fd5b50620003b562000a71366004620045e7565b62002d73565b34801562000a8457600080fd5b5060045462000474565b34801562000a9b57600080fd5b506200047462000aad366004620040dc565b620036c0565b34801562000ac057600080fd5b50600d5462000474565b34801562000ad757600080fd5b5060035462000474565b34801562000aee57600080fd5b506200047460095481565b34801562000b0657600080fd5b506200047460105481565b34801562000b1e57600080fd5b506200041f62000b30366004620041c8565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000b6157600080fd5b50600e5462000474565b34801562000b7857600080fd5b506200047460065481565b34801562000b9057600080fd5b5060005462000591906001600160a01b031681565b34801562000bb257600080fd5b506200047460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c0d57602002820191906000526020600020905b81548152602001906001019080831162000bf8575b5050505050905090565b6002805462000c269062004cc6565b80601f016020809104026020016040519081016040528092919081815260200182805462000c549062004cc6565b801562000ca55780601f1062000c795761010080835404028352916020019162000ca5565b820191906000526020600020905b81548152906001019060200180831162000c8757829003601f168201915b505050505081565b600062000cd561271062000cce60065462000cc7600e5490565b90620036db565b90620036f0565b905090565b33301462000d605760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000d835760405162461bcd60e51b815260040162000d579062004d03565b8983101562000da65760405162461bcd60e51b815260040162000d579062004d52565b6000881162000dc95760405162461bcd60e51b815260040162000d579062004daf565b6201c90886111562000e445760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000d57565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000601054600e54101562000f235760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000d57565b600f54600b54101562000f955760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000d57565b600954600c5410620010095760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000d57565b6200101362000cad565b6200101e33620036c0565b10156200108c5760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000d57565b855187511480156200109f575084518751145b6200110a5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000d57565b6000875111620011775760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000d57565b865184111580156200119457508451620011929085620036fe565b155b620012085760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000d57565b600a841115620012815760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000d57565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620012e36001600a546200370c90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546200131b91906200370c565b600282015588516200133790600383019060208c019062003e00565b5087516200134f90600483019060208b019062003e6a565b5086516200136790600583019060208a019062003eca565b5084516200137f906006830190602088019062003f08565b50835162001397906007830190602087019062003f08565b50620013a58660016200370c565b6001600160401b03811115620013bf57620013bf620041f7565b604051908082528060200260200182016040528015620013e9578160200160208202803683370190505b5080516200140291600984019160209091019062003eca565b5060088101805460ff19166001908117909155600c5462001423916200370c565b600c5581600080516020620058ff833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000838152601560205260409020600201544210620014be5760405162461bcd60e51b815260040162000d579062004e0c565b80620014ca33620036c0565b10158015620014f45750600083815260146020908152604080832033845290915290206001015481115b620015135760405162461bcd60e51b815260040162000d579062004e57565b60008381526014602090815260408083203384529091529020541580156200155557506000838152601460209081526040808320338452909152902060010154155b80620015a05750600083815260146020908152604080832033845290915290205482148015620015a05750600083815260146020908152604080832033845290915290206001015481115b620015bf5760405162461bcd60e51b815260040162000d579062004e9d565b620015cd338484846200371a565b505050565b606060028054620015e39062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620016119062004cc6565b801562000c0d5780601f10620016365761010080835404028352916020019162000c0d565b820191906000526020600020905b8154815290600101906020018083116200164457509395945050505050565b6000858152601560205260409020600201544210620016965760405162461bcd60e51b815260040162000d579062004e0c565b6000620016a68387878762002cc9565b60008181526013602052604090205490915060ff1615620017065760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000d57565b6200176a8262001763836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b906200397b565b6001600160a01b0316836001600160a01b031614620017cc5760405162461bcd60e51b815260206004820152601860248201527f45524332304775696c643a2057726f6e67207369676e65720000000000000000604482015260640162000d57565b6000818152601360205260409020805460ff1916600117905583620017f184620036c0565b1015801562001824575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620018435760405162461bcd60e51b815260040162000d579062004e57565b60008681526014602090815260408083206001600160a01b038716845290915290205415801562001897575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b80620018f4575060008681526014602090815260408083206001600160a01b038716845290915290205485148015620018f4575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620019135760405162461bcd60e51b815260040162000d579062004e9d565b62001921838787876200371a565b505050505050565b806200193533620036c0565b1015620019a45760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a20556e61626c6520746f207769746864726177206d6044820152751bdc99481d1bdad95b9cc81d1a185b881b1bd8dad95960521b606482015260840162000d57565b33600090815260126020526040902060010154421162001a075760405162461bcd60e51b815260206004820152601f60248201527f45524332304775696c643a20546f6b656e73207374696c6c206c6f636b656400604482015260640162000d57565b6000811162001a7f5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20616d6f756e74206f6620746f6b656e7320746f2060448201527f7769746864726177206d7573742062652067726561746572207468616e203000606482015260840162000d57565b3360009081526012602052604090205462001a9b9082620039a3565b33600090815260126020526040902055600e5462001aba9082620039a3565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801562001b0a57600080fd5b505af115801562001b1f573d6000803e3d6000fd5b5050505062001b2e33620036c0565b62001b4757600b5462001b43906001620039a3565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001bc09062004cc6565b80601f016020809104026020016040519081016040528092919081815260200182805462001bee9062004cc6565b801562001c3f5780601f1062001c135761010080835404028352916020019162001c3f565b820191906000526020600020905b81548152906001019060200180831162001c2157829003601f168201915b50505050509080600701805462001c569062004cc6565b80601f016020809104026020016040519081016040528092919081815260200182805462001c849062004cc6565b801562001cd55780601f1062001ca95761010080835404028352916020019162001cd5565b820191906000526020600020905b81548152906001019060200180831162001cb757829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff168062001d085750601754610100900460ff16155b62001d6d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000d57565b60175462010000900460ff1615801562001d93576017805462ffff001916620101001790555b6001600160a01b038c1662001dfa5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000d57565b60008b1162001e1d5760405162461bcd60e51b815260040162000d579062004d03565b8a83101562001e405760405162461bcd60e51b815260040162000d579062004d52565b6000891162001e635760405162461bcd60e51b815260040162000d579062004daf565b865162001e789060029060208a019062003f08565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001ea79062003f84565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001edb573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001f47576017805462ff0000191690555b505050505050505050505050565b62001f5f62003f92565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001ff457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001fd5575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015620020d8578382906000526020600020018054620020449062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620020729062004cc6565b8015620020c35780601f106200209757610100808354040283529160200191620020c3565b820191906000526020600020905b815481529060010190602001808311620020a557829003601f168201915b50505050508152602001906001019062002022565b505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156200213157602002820191906000526020600020905b8154815260200190600101908083116200211c575b505050505081526020016006820180546200214c9062004cc6565b80601f01602080910402602001604051908101604052809291908181526020018280546200217a9062004cc6565b8015620021cb5780601f106200219f57610100808354040283529160200191620021cb565b820191906000526020600020905b815481529060010190602001808311620021ad57829003601f168201915b50505050508152602001600782018054620021e69062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620022149062004cc6565b8015620022655780601f10620022395761010080835404028352916020019162002265565b820191906000526020600020905b8154815290600101906020018083116200224757829003601f168201915b5050509183525050600882015460209091019060ff1660048111156200228f576200228f62004601565b6004811115620022a357620022a362004601565b815260200160098201805480602002602001604051908101604052809291908181526020018280548015620022f857602002820191906000526020600020905b815481526020019060010190808311620022e3575b5050505050815250509050919050565b6060825184511480156200231d575081518351145b620023915760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000d57565b60008085516001600160401b03811115620023b057620023b0620041f7565b604051908082528060200260200182016040528015620023da578160200160208202803683370190505b509050600091505b85518210156200277057426015600088858151811062002406576200240662004f04565b60200260200101518152602001908152602001600020600201541015620024545760008183815181106200243e576200243e62004f04565b911515602092830291909101909101526200275b565b83828151811062002469576200246962004f04565b60200260200101516200247c33620036c0565b1080620024f95750601460008784815181106200249d576200249d62004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154848381518110620024ef57620024ef62004f04565b6020026020010151105b15620025165760008183815181106200243e576200243e62004f04565b601460008784815181106200252f576200252f62004f04565b602090810291909101810151825281810192909252604090810160009081203382529092529020541580620025b957506014600087848151811062002578576200257862004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b8015620026b35750848281518110620025d657620025d662004f04565b602002602001015160146000888581518110620025f757620025f762004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206000015414158015620026b3575083828151811062002653576200265362004f04565b60200260200101516014600088858151811062002674576200267462004f04565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b15620026d05760008183815181106200243e576200243e62004f04565b6001818381518110620026e757620026e762004f04565b6020026020010190151590811515815250506200275b3387848151811062002713576200271362004f04565b602002602001015187858151811062002730576200273062004f04565b60200260200101518786815181106200274d576200274d62004f04565b60200260200101516200371a565b81620027678162004f30565b925050620023e2565b95945050505050565b60008111620027e65760405162461bcd60e51b815260206004820152603260248201527f45524332304775696c643a20546f6b656e7320746f206c6f636b2073686f756c60448201527106420626520686967686572207468616e20360741b606482015260840162000d57565b620027f133620036c0565b6200280a57600b54620028069060016200370c565b600b555b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b1580156200285757600080fd5b505af11580156200286c573d6000803e3d6000fd5b5050336000908152601260205260409020546200288d92509050826200370c565b33600090815260126020526040902055600d54620028ad9042906200370c565b33600090815260126020526040902060010155600e54620028cf90826200370c565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001b79565b6000620029198785858562002cc9565b90508581146200296c5760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000d57565b60008181526013602052604090205460ff1615620029c95760405162461bcd60e51b8152602060048201526019602482015278115490cc8c11dd5a5b190e88105b1c9958591e481d9bdd1959603a1b604482015260640162000d57565b6000620029d889888862002d20565b90508062002a355760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000d57565b600085815260156020526040902060020154421062002a685760405162461bcd60e51b815260040162000d579062004e0c565b8262002a7489620036c0565b1015801562002aa7575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002ac65760405162461bcd60e51b815260040162000d579062004e57565b60008581526014602090815260408083206001600160a01b038c16845290915290205415801562002b1a575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b8062002b77575060008581526014602090815260408083206001600160a01b038c1684529091529020548414801562002b77575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b62002b965760405162461bcd60e51b815260040162000d579062004e9d565b6000828152601360205260409020805460ff1916600117905562002bbd888686866200371a565b505050505050505050565b60005b875181101562002cbf5762002caa88828151811062002bee5762002bee62004f04565b602002602001015188838151811062002c0b5762002c0b62004f04565b602002602001015188848151811062002c285762002c2862004f04565b602002602001015188858151811062002c455762002c4562004f04565b602002602001015188868151811062002c625762002c6262004f04565b602002602001015188878151811062002c7f5762002c7f62004f04565b602002602001015188888151811062002c9c5762002c9c62004f04565b602002602001015162002909565b8062002cb68162004f30565b91505062002bcb565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062002d2f828585620039b1565b949350505050565b600062000cd561271062000cce60055462000cc7600e5490565b6016818154811062002d6257600080fd5b600091825260209091200154905081565b60175460ff161562002dd45760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a2050726f706f73616c20756e6465722065786563756044820152633a34b7b760e11b606482015260840162000d57565b600160008281526015602052604090206008015460ff16600481111562002dff5762002dff62004601565b1462002e5c5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c20616c72656164792065786560448201526418dd5d195960da1b606482015260840162000d57565b600081815260156020526040902060020154421162002ecc5760405162461bcd60e51b815260206004820152602560248201527f45524332304775696c643a2050726f706f73616c206861736e277420656e646560448201526419081e595d60da1b606482015260840162000d57565b60008181526015602052604081206009018054829190829062002ef35762002ef362004f04565b600091825260209091200154905060015b600084815260156020526040902060090154811015620030335762002f2862002d37565b600085815260156020526040902060090180548390811062002f4e5762002f4e62004f04565b90600052602060002001541015801562002f9a5750600084815260156020526040902060090180548391908390811062002f8c5762002f8c62004f04565b906000526020600020015410155b156200301e57600084815260156020526040902060090180548391908390811062002fc95762002fc962004f04565b9060005260206000200154141562002fe557600092506200301e565b6000848152601560205260409020600901805491935083918290811062003010576200301062004f04565b906000526020600020015491505b806200302a8162004f30565b91505062002f04565b8262003083576000848152601560205260409020600801805460ff191660029081179091558490600080516020620058ff833981519152905b60405190815260200160405180910390a2620036a7565b6004546000858152601560205260409020600201544291620030a691906200370c565b1015620030e5576000848152601560205260409020600801805460ff191660049081179091558490600080516020620058ff833981519152906200306c565b600084815260156020526040812060088101805460ff1916600317905560090154620031319062003118906001620039a3565b60008781526015602052604090206003015490620036f0565b90506200314c62003144856001620039a3565b8290620036db565b915060006200315c83836200370c565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620031af57600080fd5b505af1158015620031c4573d6000803e3d6000fd5b505050505b80831015620035fe576000868152601560205260408120600301805485908110620031f857620031f862004f04565b6000918252602090912001546001600160a01b03161480159062003258575060008681526015602052604081206004018054859081106200323d576200323d62004f04565b906000526020600020018054620032549062004cc6565b9050115b15620035e957600086815260156020526040812060040180548590811062003284576200328462004f04565b9060005260206000200180546200329b9062004cc6565b80601f0160208091040260200160405190810160405280929190818152602001828054620032c99062004cc6565b80156200331a5780601f10620032ee576101008083540402835291602001916200331a565b820191906000526020600020905b815481529060010190602001808311620032fc57829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062003368576200336862004f04565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a81548110620033b157620033b162004f04565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200341657600080fd5b505af192505050801562003428575060015b62003484576200343762004f4e565b806308c379a014156200347857506200344f62004f6b565b806200345c57506200347a565b8060405162461bcd60e51b815260040162000d5791906200414a565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000888152601560205260408120600301805487908110620034b757620034b762004f04565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b039092169188908110620034f657620034f662004f04565b9060005260206000200154601560008c815260200190815260200160002060040188815481106200352b576200352b62004f04565b9060005260206000200160405162003544919062004ffa565b60006040518083038185875af1925050503d806000811462003583576040519150601f19603f3d011682016040523d82523d6000602084013e62003588565b606091505b5050905080620035db5760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000d57565b50506017805460ff19169055505b82620035f58162004f30565b935050620031c9565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156200364457600080fd5b505af115801562003659573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200367f91906200509e565b5085600080516020620058ff833981519152600360405190815260200160405180910390a250505b600c54620036b7906001620039a3565b600c5550505050565b6001600160a01b031660009081526012602052604090205490565b6000620036e98284620050c2565b9392505050565b6000620036e98284620050fa565b6000620036e9828462005111565b6000620036e9828462005128565b60008381526014602090815260408083206001600160a01b038816845282528083206001015486845260159092529091206009018054620037909284926200378992879081106200376f576200376f62004f04565b9060005260206000200154620039a390919063ffffffff16565b906200370c565b6000848152601560205260409020600901805484908110620037b657620037b662004f04565b60009182526020808320909101929092558481526014825260408082206001600160a01b03881683528352808220858155600101849055858252601590925220600201546200381d856001600160a01b031660009081526012602052604090206001015490565b101562003852576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003975576000620038c8620038be6008543a620039c990919063ffffffff16565b60075490620036db565b9050804710158015620038da5750333b155b156200397357604051600090339083908381818185875af1925050503d806000811462003924576040519150601f19603f3d011682016040523d82523d6000602084013e62003929565b606091505b5050905080620019215760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000d57565b505b50505050565b60008060006200398c8585620039e1565b915091506200399b8162003a57565b509392505050565b6000620036e9828462005143565b600082620039c0858462003c2d565b14949350505050565b6000818310620039da5781620036e9565b5090919050565b60008082516041141562003a1c5760208301516040840151606085015160001a62003a0f8782858562003cda565b9450945050505062000e9e565b82516040141562003a4a576020830151604084015162003a3e86838362003dcf565b93509350505062000e9e565b5060009050600262000e9e565b600081600481111562003a6e5762003a6e62004601565b141562003a785750565b600181600481111562003a8f5762003a8f62004601565b141562003adf5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000d57565b600281600481111562003af65762003af662004601565b141562003b465760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000d57565b600381600481111562003b5d5762003b5d62004601565b141562003bb85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000d57565b600481600481111562003bcf5762003bcf62004601565b141562003c2a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000d57565b50565b600081815b84518110156200399b57600085828151811062003c535762003c5362004f04565b6020026020010151905080831162003c9757604080516020810185905290810182905260600160405160208183030381529060405280519060200120925062003cc4565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b508062003cd18162004f30565b91505062003c32565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111562003d13575060009050600362003dc6565b8460ff16601b1415801562003d2c57508460ff16601c14155b1562003d3f575060009050600462003dc6565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562003d94573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662003dbf5760006001925092505062003dc6565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b0162003df28782888562003cda565b935093505050935093915050565b82805482825590600052602060002090810192821562003e58579160200282015b8281111562003e5857825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003e21565b5062003e6692915062004002565b5090565b82805482825590600052602060002090810192821562003ebc579160200282015b8281111562003ebc578251805162003eab91849160209091019062003f08565b509160200191906001019062003e8b565b5062003e6692915062004019565b82805482825590600052602060002090810192821562003e58579160200282015b8281111562003e5857825182559160200191906001019062003eeb565b82805462003f169062004cc6565b90600052602060002090601f01602090048101928262003f3a576000855562003e58565b82601f1062003f5557805160ff191683800117855562003e58565b8280016001018555821562003e58579182018281111562003e5857825182559160200191906001019062003eeb565b6107a1806200515e83390190565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003ff55762003ff562004601565b8152602001606081525090565b5b8082111562003e66576000815560010162004003565b8082111562003e665760006200403082826200403a565b5060010162004019565b508054620040489062004cc6565b6000825580601f1062004059575050565b601f01602090049060005260206000209081019062003c2a919062004002565b6020808252825182820181905260009190848201906040850190845b81811015620040b35783518352928401929184019160010162004095565b50909695505050505050565b80356001600160a01b0381168114620040d757600080fd5b919050565b600060208284031215620040ef57600080fd5b620036e982620040bf565b6000815180845260005b81811015620041225760208185018101518683018201520162004104565b8181111562004135576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620036e96020830184620040fa565b6000806000806000806000806000806101408b8d0312156200418057600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60008060408385031215620041dc57600080fd5b82359150620041ee60208401620040bf565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715620042355762004235620041f7565b6040525050565b60006001600160401b03821115620042585762004258620041f7565b5060051b60200190565b600082601f8301126200427457600080fd5b8135602062004283826200423c565b6040516200429282826200420d565b83815260059390931b8501820192828101915086841115620042b357600080fd5b8286015b84811015620042d957620042cb81620040bf565b8352918301918301620042b7565b509695505050505050565b600082601f830112620042f657600080fd5b81356001600160401b03811115620043125762004312620041f7565b6040516200432b601f8301601f1916602001826200420d565b8181528460208386010111156200434157600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200437057600080fd5b813560206200437f826200423c565b6040516200438e82826200420d565b83815260059390931b8501820192828101915086841115620043af57600080fd5b8286015b84811015620042d95780356001600160401b03811115620043d45760008081fd5b620043e48986838b0101620042e4565b845250918301918301620043b3565b600082601f8301126200440557600080fd5b8135602062004414826200423c565b6040516200442382826200420d565b83815260059390931b85018201928281019150868411156200444457600080fd5b8286015b84811015620042d9578035835291830191830162004448565b60008060008060008060c087890312156200447b57600080fd5b86356001600160401b03808211156200449357600080fd5b620044a18a838b0162004262565b97506020890135915080821115620044b857600080fd5b620044c68a838b016200435e565b96506040890135915080821115620044dd57600080fd5b620044eb8a838b01620043f3565b95506060890135945060808901359150808211156200450957600080fd5b620045178a838b01620042e4565b935060a08901359150808211156200452e57600080fd5b506200453d89828a01620042e4565b9150509295509295509295565b6000806000606084860312156200456057600080fd5b505081359360208301359350604090920135919050565b600080600080600060a086880312156200459057600080fd5b853594506020860135935060408601359250620045b060608701620040bf565b915060808601356001600160401b03811115620045cc57600080fd5b620045da88828901620042e4565b9150509295509295909350565b600060208284031215620045fa57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600581106200463657634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006200466960c0830186620040fa565b82810360808401526200467d8186620040fa565b9150506200468f60a083018462004617565b979650505050505050565b60008060008060008060008060008060006101608c8e031215620046bd57600080fd5b620046c88c620040bf565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b038111156200470057600080fd5b6200470e8e828f01620042e4565b96505060c08c0135945060e08c013593506101008c013592506101208c013591506200473e6101408d01620040bf565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b838110156200478b5781516001600160a01b03168752958201959082019060010162004764565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015620047e2578284038952620047cf848351620040fa565b98850198935090840190600101620047b4565b5091979650505050505050565b600081518084526020808501945080840160005b838110156200478b5781518752958201959082019060010162004803565b602081526200483c6020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200487061016085018362004750565b91506080850151601f19808685030160a087015262004890848362004796565b935060a08701519150808685030160c0870152620048af8483620047ef565b935060c08701519150808685030160e0870152620048ce8483620040fa565b935060e08701519150610100818786030181880152620048ef8584620040fa565b945080880151925050610120620049098188018462004617565b870151868503909101838701529050620049248382620047ef565b9695505050505050565b6000806000606084860312156200494457600080fd5b83356001600160401b03808211156200495c57600080fd5b6200496a87838801620043f3565b945060208601359150808211156200498157600080fd5b6200498f87838801620043f3565b93506040860135915080821115620049a657600080fd5b50620049b586828701620043f3565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b81811015620040b3578351151583529284019291840191600101620049db565b600080600080600080600060e0888a03121562004a1757600080fd5b8735965062004a2960208901620040bf565b95506040880135945060608801356001600160401b0381111562004a4c57600080fd5b62004a5a8a828b01620043f3565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f83011262004a8e57600080fd5b8135602062004a9d826200423c565b60405162004aac82826200420d565b83815260059390931b850182019282810191508684111562004acd57600080fd5b8286015b84811015620042d95780356001600160401b0381111562004af25760008081fd5b62004b028986838b0101620043f3565b84525091830191830162004ad1565b600080600080600080600060e0888a03121562004b2d57600080fd5b87356001600160401b038082111562004b4557600080fd5b62004b538b838c01620043f3565b985060208a013591508082111562004b6a57600080fd5b62004b788b838c0162004262565b975060408a013591508082111562004b8f57600080fd5b62004b9d8b838c01620043f3565b965060608a013591508082111562004bb457600080fd5b62004bc28b838c0162004a7c565b955060808a013591508082111562004bd957600080fd5b62004be78b838c01620043f3565b945060a08a013591508082111562004bfe57600080fd5b62004c0c8b838c01620043f3565b935060c08a013591508082111562004c2357600080fd5b5062004c328a828b01620043f3565b91505092959891949750929550565b6000806000806080858703121562004c5857600080fd5b62004c6385620040bf565b966020860135965060408601359560600135945092505050565b60008060006060848603121562004c9357600080fd5b833592506020840135915060408401356001600160401b0381111562004cb857600080fd5b620049b586828701620043f3565b600181811c9082168062004cdb57607f821691505b6020821081141562004cfd57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6020808252602b908201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60408201526a1bdd081899481d9bdd195960aa1b606082015260800190565b60208082526026908201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604082015265185b5bdd5b9d60d21b606082015260800190565b60208082526041908201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60408201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656060820152603960f91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562004f475762004f4762004f1a565b5060010190565b600060033d111562004f685760046000803e5060005160e01c5b90565b600060443d101562004f7a5790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171562004faa57505050505090565b828501915081518181111562004fc35750505050505090565b843d870101602082850101111562004fde5750505050505090565b62004fef602082860101876200420d565b509095945050505050565b600080835481600182811c9150808316806200501757607f831692505b60208084108214156200503857634e487b7160e01b86526022600452602486fd5b8180156200504f5760018114620050615762005090565b60ff1986168952848901965062005090565b60008a81526020902060005b86811015620050885781548b8201529085019083016200506d565b505084890196505b509498975050505050505050565b600060208284031215620050b157600080fd5b81518015158114620036e957600080fd5b6000816000190483118215151615620050df57620050df62004f1a565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200510c576200510c620050e4565b500490565b600082620051235762005123620050e4565b500690565b600082198211156200513e576200513e62004f1a565b500190565b60008282101562005158576200515862004f1a565b50039056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220195bac2ded020048afbbc8dcc00be9fa4ee6f03475f19e293e27b0781c5a522764736f6c63430008080033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/Multicall.json b/src/contracts/Multicall.json index ba34dceb2..c42db0353 100644 --- a/src/contracts/Multicall.json +++ b/src/contracts/Multicall.json @@ -1,10 +1,9 @@ { "_format": "hh-sol-artifact-1", "contractName": "Multicall", - "sourceName": "dxdao-contracts/contracts/utils/Multicall.sol", + "sourceName": "contracts/utils/Multicall.sol", "abi": [ { - "constant": false, "inputs": [ { "components": [ @@ -37,12 +36,10 @@ "type": "bytes[]" } ], - "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, "inputs": [ { "internalType": "uint256", @@ -58,12 +55,10 @@ "type": "bytes32" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "getCurrentBlockCoinbase", "outputs": [ @@ -73,12 +68,10 @@ "type": "address" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "getCurrentBlockDifficulty", "outputs": [ @@ -88,12 +81,10 @@ "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "getCurrentBlockGasLimit", "outputs": [ @@ -103,12 +94,10 @@ "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "getCurrentBlockTimestamp", "outputs": [ @@ -118,12 +107,10 @@ "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [ { "internalType": "address", @@ -139,12 +126,10 @@ "type": "uint256" } ], - "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, "inputs": [], "name": "getLastBlockHash", "outputs": [ @@ -154,9 +139,31 @@ "type": "bytes32" } ], - "payable": false, "stateMutability": "view", "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "payable", + "type": "function" } - ] + ], + "bytecode": "0x608060405234801561001057600080fd5b50610976806100206000396000f3fe6080604052600436106100865760003560e01c806372425d9d1161005957806372425d9d1461011857806386d516e81461012b578063a8b0574e1461013e578063ac9650d814610159578063ee82ac5e1461017957600080fd5b80630f28c97d1461008b578063252dba42146100ad57806327e86d6e146100db5780634d2301cc146100f0575b600080fd5b34801561009757600080fd5b50425b6040519081526020015b60405180910390f35b3480156100b957600080fd5b506100cd6100c8366004610500565b610198565b6040516100a49291906106fa565b3480156100e757600080fd5b5061009a6102d8565b3480156100fc57600080fd5b5061009a61010b36600461071b565b6001600160a01b03163190565b34801561012457600080fd5b504461009a565b34801561013757600080fd5b504561009a565b34801561014a57600080fd5b506040514181526020016100a4565b61016c61016736600461073d565b6102eb565b6040516100a491906107b2565b34801561018557600080fd5b5061009a6101943660046107c5565b4090565b8051439060609067ffffffffffffffff8111156101b7576101b761044c565b6040519080825280602002602001820160405280156101ea57816020015b60608152602001906001900390816101d55790505b50905060005b83518110156102d25760008085838151811061020e5761020e6107de565b6020026020010151600001516001600160a01b0316868481518110610235576102356107de565b60200260200101516020015160405161024e91906107f4565b6000604051808303816000865af19150503d806000811461028b576040519150601f19603f3d011682016040523d82523d6000602084013e610290565b606091505b50915091508161029f57600080fd5b808484815181106102b2576102b26107de565b6020026020010181905250505080806102ca90610826565b9150506101f0565b50915091565b60006102e5600143610841565b40905090565b60608167ffffffffffffffff8111156103065761030661044c565b60405190808252806020026020018201604052801561033957816020015b60608152602001906001900390816103245790505b50905060005b82811015610445576000803086868581811061035d5761035d6107de565b905060200281019061036f9190610858565b60405161037d9291906108a6565b600060405180830381855af49150503d80600081146103b8576040519150601f19603f3d011682016040523d82523d6000602084013e6103bd565b606091505b509150915081610412576044815110156103d657600080fd5b600481019050808060200190518101906103f091906108b6565b60405162461bcd60e51b8152600401610409919061092d565b60405180910390fd5b80848481518110610425576104256107de565b60200260200101819052505050808061043d90610826565b91505061033f565b5092915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156104855761048561044c565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156104b4576104b461044c565b604052919050565b80356001600160a01b03811681146104d357600080fd5b919050565b600067ffffffffffffffff8211156104f2576104f261044c565b50601f01601f191660200190565b6000602080838503121561051357600080fd5b823567ffffffffffffffff8082111561052b57600080fd5b818501915085601f83011261053f57600080fd5b8135818111156105515761055161044c565b8060051b61056085820161048b565b918252838101850191858101908984111561057a57600080fd5b86860192505b8383101561063f578235858111156105985760008081fd5b86016040818c03601f19018113156105b05760008081fd5b6105b8610462565b6105c38a84016104bc565b815281830135888111156105d75760008081fd5b8084019350508c603f8401126105ed5760008081fd5b898301356106026105fd826104d8565b61048b565b8181528e848387010111156106175760008081fd5b818486018d83013760009181018c0191909152818b0152845250509186019190860190610580565b9998505050505050505050565b60005b8381101561066757818101518382015260200161064f565b83811115610676576000848401525b50505050565b6000815180845261069481602086016020860161064c565b601f01601f19169290920160200192915050565b6000815180845260208085019450848260051b860182860160005b858110156106ed5783830389526106db83835161067c565b988501989250908401906001016106c3565b5090979650505050505050565b82815260406020820152600061071360408301846106a8565b949350505050565b60006020828403121561072d57600080fd5b610736826104bc565b9392505050565b6000806020838503121561075057600080fd5b823567ffffffffffffffff8082111561076857600080fd5b818501915085601f83011261077c57600080fd5b81358181111561078b57600080fd5b8660208260051b85010111156107a057600080fd5b60209290920196919550909350505050565b60208152600061073660208301846106a8565b6000602082840312156107d757600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b6000825161080681846020870161064c565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600060001982141561083a5761083a610810565b5060010190565b60008282101561085357610853610810565b500390565b6000808335601e1984360301811261086f57600080fd5b83018035915067ffffffffffffffff82111561088a57600080fd5b60200191503681900382131561089f57600080fd5b9250929050565b8183823760009101908152919050565b6000602082840312156108c857600080fd5b815167ffffffffffffffff8111156108df57600080fd5b8201601f810184136108f057600080fd5b80516108fe6105fd826104d8565b81815285602083850101111561091357600080fd5b61092482602083016020860161064c565b95945050505050565b602081526000610736602083018461067c56fea26469706673582212203a06454be0df4d7f64bf1469fa5ef4fafd65639c6aa431a4b0755c2ef2bbe07464736f6c63430008080033", + "deployedBytecode": "0x6080604052600436106100865760003560e01c806372425d9d1161005957806372425d9d1461011857806386d516e81461012b578063a8b0574e1461013e578063ac9650d814610159578063ee82ac5e1461017957600080fd5b80630f28c97d1461008b578063252dba42146100ad57806327e86d6e146100db5780634d2301cc146100f0575b600080fd5b34801561009757600080fd5b50425b6040519081526020015b60405180910390f35b3480156100b957600080fd5b506100cd6100c8366004610500565b610198565b6040516100a49291906106fa565b3480156100e757600080fd5b5061009a6102d8565b3480156100fc57600080fd5b5061009a61010b36600461071b565b6001600160a01b03163190565b34801561012457600080fd5b504461009a565b34801561013757600080fd5b504561009a565b34801561014a57600080fd5b506040514181526020016100a4565b61016c61016736600461073d565b6102eb565b6040516100a491906107b2565b34801561018557600080fd5b5061009a6101943660046107c5565b4090565b8051439060609067ffffffffffffffff8111156101b7576101b761044c565b6040519080825280602002602001820160405280156101ea57816020015b60608152602001906001900390816101d55790505b50905060005b83518110156102d25760008085838151811061020e5761020e6107de565b6020026020010151600001516001600160a01b0316868481518110610235576102356107de565b60200260200101516020015160405161024e91906107f4565b6000604051808303816000865af19150503d806000811461028b576040519150601f19603f3d011682016040523d82523d6000602084013e610290565b606091505b50915091508161029f57600080fd5b808484815181106102b2576102b26107de565b6020026020010181905250505080806102ca90610826565b9150506101f0565b50915091565b60006102e5600143610841565b40905090565b60608167ffffffffffffffff8111156103065761030661044c565b60405190808252806020026020018201604052801561033957816020015b60608152602001906001900390816103245790505b50905060005b82811015610445576000803086868581811061035d5761035d6107de565b905060200281019061036f9190610858565b60405161037d9291906108a6565b600060405180830381855af49150503d80600081146103b8576040519150601f19603f3d011682016040523d82523d6000602084013e6103bd565b606091505b509150915081610412576044815110156103d657600080fd5b600481019050808060200190518101906103f091906108b6565b60405162461bcd60e51b8152600401610409919061092d565b60405180910390fd5b80848481518110610425576104256107de565b60200260200101819052505050808061043d90610826565b91505061033f565b5092915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156104855761048561044c565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156104b4576104b461044c565b604052919050565b80356001600160a01b03811681146104d357600080fd5b919050565b600067ffffffffffffffff8211156104f2576104f261044c565b50601f01601f191660200190565b6000602080838503121561051357600080fd5b823567ffffffffffffffff8082111561052b57600080fd5b818501915085601f83011261053f57600080fd5b8135818111156105515761055161044c565b8060051b61056085820161048b565b918252838101850191858101908984111561057a57600080fd5b86860192505b8383101561063f578235858111156105985760008081fd5b86016040818c03601f19018113156105b05760008081fd5b6105b8610462565b6105c38a84016104bc565b815281830135888111156105d75760008081fd5b8084019350508c603f8401126105ed5760008081fd5b898301356106026105fd826104d8565b61048b565b8181528e848387010111156106175760008081fd5b818486018d83013760009181018c0191909152818b0152845250509186019190860190610580565b9998505050505050505050565b60005b8381101561066757818101518382015260200161064f565b83811115610676576000848401525b50505050565b6000815180845261069481602086016020860161064c565b601f01601f19169290920160200192915050565b6000815180845260208085019450848260051b860182860160005b858110156106ed5783830389526106db83835161067c565b988501989250908401906001016106c3565b5090979650505050505050565b82815260406020820152600061071360408301846106a8565b949350505050565b60006020828403121561072d57600080fd5b610736826104bc565b9392505050565b6000806020838503121561075057600080fd5b823567ffffffffffffffff8082111561076857600080fd5b818501915085601f83011261077c57600080fd5b81358181111561078b57600080fd5b8660208260051b85010111156107a057600080fd5b60209290920196919550909350505050565b60208152600061073660208301846106a8565b6000602082840312156107d757600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b6000825161080681846020870161064c565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600060001982141561083a5761083a610810565b5060010190565b60008282101561085357610853610810565b500390565b6000808335601e1984360301811261086f57600080fd5b83018035915067ffffffffffffffff82111561088a57600080fd5b60200191503681900382131561089f57600080fd5b9250929050565b8183823760009101908152919050565b6000602082840312156108c857600080fd5b815167ffffffffffffffff8111156108df57600080fd5b8201601f810184136108f057600080fd5b80516108fe6105fd826104d8565b81815285602083850101111561091357600080fd5b61092482602083016020860161064c565b95945050505050565b602081526000610736602083018461067c56fea26469706673582212203a06454be0df4d7f64bf1469fa5ef4fafd65639c6aa431a4b0755c2ef2bbe07464736f6c63430008080033", + "linkReferences": {}, + "deployedLinkReferences": {} } diff --git a/src/contracts/SnapshotERC20Guild.json b/src/contracts/SnapshotERC20Guild.json index 3d2e39e0d..98e0fa96b 100644 --- a/src/contracts/SnapshotERC20Guild.json +++ b/src/contracts/SnapshotERC20Guild.json @@ -1,1307 +1,1451 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SnapshotERC20Guild", - "sourceName": "dxdao-contracts/contracts/erc20guild/implementations/SnapshotERC20Guild.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newState", - "type": "uint256" - } - ], - "name": "ProposalStateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensLocked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "VoteAdded", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "MAX_OPTIONS_PER_PROPOSAL", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activeProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalOptions", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - } - ], - "name": "createProposal", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "endProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getActiveProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentSnapshotId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getName", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPermissionRegistry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getProposal", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - }, - { - "internalType": "uint256[]", - "name": "totalVotes", - "type": "uint256[]" - } - ], - "internalType": "struct BaseERC20Guild.Proposal", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getProposalSnapshotId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getProposalVotesOfVoter", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIds", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIdsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "signedVoteHash", - "type": "bytes32" - } - ], - "name": "getSignedVote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTimeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTokenVault", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalMembers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getVoterLockTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "snapshotId", - "type": "uint256" - } - ], - "name": "getVotingPowerForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "hashVote", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_permissionRegistry", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "lockTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "maxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposalsIds", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposalsSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumMembersForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumTokensLockedForProposalCreation", - "type": "uint256" - } - ], - "name": "setConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "setSignedVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "setVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "signedVotes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenVault", - "outputs": [ - { - "internalType": "contract TokenVault", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tokensLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "snapshotId", - "type": "uint256" - } - ], - "name": "totalLockedAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "voteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "votingPowerOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "snapshotId", - "type": "uint256" - } - ], - "name": "votingPowerOfAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "snapshotIds", - "type": "uint256[]" - } - ], - "name": "votingPowerOfMultipleAt", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "withdrawTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60806040526001601c5534801561001557600080fd5b506153c4806100256000396000f3fe608060405260043610620003d95760003560e01c80635e508c2c1162000203578063b3929aaa1162000117578063e158080a11620000a7578063f98606a71162000075578063f98606a71462000bf8578063f9a92d821462000c10578063fc0c546a1462000c35578063fc4e703f1462000c5757005b8063e158080a1462000b61578063ed996f5e1462000b79578063f09951981462000b9e578063f4732da61462000be157005b8063bcc3f3bd11620000e5578063bcc3f3bd1462000ae1578063c0a4d64d1462000b1b578063c93e01e31462000b32578063e04503531462000b4957005b8063b3929aaa1462000a5b578063b3b470611462000a80578063b7c15f8d1462000aa5578063bba363a01462000abc57005b80638f1803051162000193578063a7aeb5571162000161578063a7aeb55714620009e0578063ad6c1e3414620009f8578063adf2c7b61462000a0f578063ae6192341462000a4357005b80638f180305146200096c57806392b716541462000983578063a16fe34214620009a8578063a78d80fc14620009c857005b80637189354611620001d15780637189354614620008d957806377027ff4146200090a5780638029eff1146200092157806389c98c06146200095557005b80635e508c2c146200086e57806364fe6ed214620008865780636c8b72f6146200089d5780636e27d88914620008b457005b80632467ef9411620002fb5780633bf353fb116200028b5780635439ad8611620002595780635439ad8614620007fd57806354f2f7af14620008145780635689141214620008345780635bc789d9146200084c57005b80633bf353fb14620007815780633de39c1114620007995780633f10cf1514620007b1578063430694cf14620007c957005b80632fd99c0011620002c95780632fd99c0014620006b9578063315a095d14620006fe57806332ed5b12146200072357806336f8f8d9146200075c57005b80632467ef94146200061657806325c069fc146200062d5780632d5b17de14620006575780632d757c3e146200067c57005b806313108d7411620003775780631a5007dd11620003455780631a5007dd146200058357806321df0da7146200059a5780632229a0e214620005ce57806322bafdff14620005e557005b806313108d74146200050957806316bbecde146200052e57806317d7de7c1462000553578063184a0ae9146200056b57005b80630a366a6311620003b55780630a366a6314620004805780630d66808714620004a7578063123f6d6714620004bf578063130485fe14620004e457005b80623a40d014620003db57806301a598a6146200040b57806306fdde031462000459575b005b348015620003e857600080fd5b50620003f362000c6f565b60405162000402919062003d7d565b60405180910390f35b3480156200041857600080fd5b50620004436200042a36600462003ddb565b6012602052600090815260409020805460019091015482565b6040805192835260208301919091520162000402565b3480156200046657600080fd5b506200047162000cc9565b60405162000402919062003e49565b3480156200048d57600080fd5b506200049862000d5f565b60405190815260200162000402565b348015620004b457600080fd5b5062000498600d5481565b348015620004cc57600080fd5b50620003d9620004de36600462003e5e565b62000d8c565b348015620004f157600080fd5b50620004436200050336600462003ec7565b62000f25565b3480156200051657600080fd5b50620004986200052836600462004164565b62000f57565b3480156200053b57600080fd5b50620003d96200054d3660046200424e565b62000f9c565b3480156200056057600080fd5b5062000471620010cd565b3480156200057857600080fd5b506200049860035481565b3480156200059057600080fd5b50600a5462000498565b348015620005a757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200162000402565b348015620005db57600080fd5b5060165462000498565b348015620005f257600080fd5b5062000498620006043660046200427b565b60009081526018602052604090205490565b3480156200062357600080fd5b50600c5462000498565b3480156200063a57600080fd5b5062000644600a81565b60405160ff909116815260200162000402565b3480156200066457600080fd5b50620003d96200067636600462004295565b6200115e565b3480156200068957600080fd5b50620004986200069b36600462003ddb565b6001600160a01b031660009081526012602052604090206001015490565b348015620006c657600080fd5b50620006ed620006d83660046200427b565b60136020526000908152604090205460ff1681565b604051901515815260200162000402565b3480156200070b57600080fd5b50620003d96200071d3660046200427b565b62001443565b3480156200073057600080fd5b5062000748620007423660046200427b565b620016e8565b60405162000402969594939291906200433f565b3480156200076957600080fd5b50620003d96200077b3660046200439f565b6200184c565b3480156200078e57600080fd5b5062000498600c5481565b348015620007a657600080fd5b506200049860085481565b348015620007be57600080fd5b506200049860045481565b348015620007d657600080fd5b50620007ee620007e83660046200427b565b62001ab9565b60405162000402919062004527565b3480156200080a57600080fd5b50601c5462000498565b3480156200082157600080fd5b506011546001600160a01b0316620005b5565b3480156200084157600080fd5b5062000498600e5481565b3480156200085957600080fd5b50601154620005b5906001600160a01b031681565b3480156200087b57600080fd5b506200049860055481565b3480156200089357600080fd5b5060105462000498565b348015620008aa57600080fd5b5060075462000498565b348015620008c157600080fd5b50620003d9620008d33660046200427b565b62001e6c565b348015620008e657600080fd5b5062000498620008f83660046200427b565b60186020526000908152604090205481565b3480156200091757600080fd5b5060095462000498565b3480156200092e57600080fd5b50620006ed620009403660046200427b565b60009081526013602052604090205460ff1690565b3480156200096257600080fd5b5060085462000498565b3480156200097957600080fd5b50600b5462000498565b3480156200099057600080fd5b5062000498620009a236600462004634565b62002021565b348015620009b557600080fd5b506001546001600160a01b0316620005b5565b348015620009d557600080fd5b5062000498600a5481565b348015620009ed57600080fd5b5062000498600f5481565b34801562000a0557600080fd5b50600f5462000498565b34801562000a1c57600080fd5b5062000a3462000a2e36600462004670565b62002078565b604051620004029190620046db565b34801562000a5057600080fd5b5062000498620021de565b34801562000a6857600080fd5b506200049862000a7a3660046200427b565b620021f8565b34801562000a8d57600080fd5b50620003d962000a9f3660046200427b565b6200221a565b34801562000ab257600080fd5b5060045462000498565b34801562000ac957600080fd5b506200049862000adb3660046200427b565b62002b12565b34801562000aee57600080fd5b506200049862000b0036600462003ddb565b6001600160a01b031660009081526012602052604090205490565b34801562000b2857600080fd5b50600d5462000498565b34801562000b3f57600080fd5b5060035462000498565b34801562000b5657600080fd5b506200049860095481565b34801562000b6e57600080fd5b506200049860105481565b34801562000b8657600080fd5b506200049862000b983660046200427b565b62002b28565b34801562000bab57600080fd5b506200044362000bbd36600462003ec7565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000bee57600080fd5b50600e5462000498565b34801562000c0557600080fd5b506200049860065481565b34801562000c1d57600080fd5b506200049862000c2f366004620046f0565b62002b57565b34801562000c4257600080fd5b50600054620005b5906001600160a01b031681565b34801562000c6457600080fd5b506200049860075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000cbf57602002820191906000526020600020905b81548152602001906001019080831162000caa575b5050505050905090565b6002805462000cd8906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462000d06906200471d565b801562000d575780601f1062000d2b5761010080835404028352916020019162000d57565b820191906000526020600020905b81548152906001019060200180831162000d3957829003601f168201915b505050505081565b600062000d8761271062000d8060065462000d79600e5490565b9062002bb9565b9062002bce565b905090565b33301462000e125760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000e355760405162461bcd60e51b815260040162000e09906200475a565b8983101562000e585760405162461bcd60e51b815260040162000e0990620047a9565b6000881162000e7b5760405162461bcd60e51b815260040162000e099062004806565b6201c90886111562000ef65760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000e09565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b60008062000f6a88888888888862002bdc565b601c5490915062000f7d906001620031c8565b601c819055600082815260186020526040902055979650505050505050565b600083815260156020526040902060020154421062000fcf5760405162461bcd60e51b815260040162000e099062004863565b600083815260186020526040902054819062000fed90339062002b57565b10156200100e5760405162461bcd60e51b815260040162000e0990620048b6565b60008381526014602090815260408083203384529091529020541580156200105057506000838152601460209081526040808320338452909152902060010154155b806200109b57506000838152601460209081526040808320338452909152902054821480156200109b5750600083815260146020908152604080832033845290915290206001015481115b620010ba5760405162461bcd60e51b815260040162000e099062004904565b620010c833848484620031d6565b505050565b606060028054620010de906200471d565b80601f01602080910402602001604051908101604052809291908181526020018280546200110c906200471d565b801562000cbf5780601f10620011315761010080835404028352916020019162000cbf565b820191906000526020600020905b8154815290600101906020018083116200113f57509395945050505050565b6000858152601560205260409020600201544210620011915760405162461bcd60e51b815260040162000e099062004863565b6000620011a18387878762002021565b60008181526013602052604090205490915060ff16156200120f5760405162461bcd60e51b815260206004820152602160248201527f536e617073686f7445524332304775696c643a20416c726561647920766f74656044820152601960fa1b606482015260840162000e09565b62001273826200126c836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003437565b6001600160a01b0316836001600160a01b031614620012d55760405162461bcd60e51b815260206004820181905260248201527f536e617073686f7445524332304775696c643a2057726f6e67207369676e6572604482015260640162000e09565b6000818152601360209081526040808320805460ff19166001179055888352601890915290205484906200130b90859062002b57565b101580156200133e575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6200135d5760405162461bcd60e51b815260040162000e0990620048b6565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620013b1575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b806200140e575060008681526014602090815260408083206001600160a01b0387168452909152902054851480156200140e575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6200142d5760405162461bcd60e51b815260040162000e099062004904565b6200143b83878787620031d6565b505050505050565b33600090815260126020526040902054811115620014ca5760405162461bcd60e51b815260206004820152603e60248201527f536e617073686f7445524332304775696c643a20556e61626c6520746f20776960448201527f746864726177206d6f726520746f6b656e73207468616e206c6f636b65640000606482015260840162000e09565b3360009081526012602052604090206001015442116200153d5760405162461bcd60e51b815260206004820152602760248201527f536e617073686f7445524332304775696c643a20546f6b656e73207374696c6c604482015266081b1bd8dad95960ca1b606482015260840162000e09565b60008111620015c55760405162461bcd60e51b815260206004820152604760248201527f536e617073686f7445524332304775696c643a20616d6f756e74206f6620746f60448201527f6b656e7320746f207769746864726177206d75737420626520677265617465726064820152660207468616e20360cc1b608482015260a40162000e09565b620015d03362003457565b620015da6200348a565b33600090815260126020526040902054620015f690826200349b565b33600090815260126020526040902055600e546200161590826200349b565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b50503360009081526012602052604090205415159150620016ab905057600b54620016a79060016200349b565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001724906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001752906200471d565b8015620017a35780601f106200177757610100808354040283529160200191620017a3565b820191906000526020600020905b8154815290600101906020018083116200178557829003601f168201915b505050505090806007018054620017ba906200471d565b80601f0160208091040260200160405190810160405280929190818152602001828054620017e8906200471d565b8015620018395780601f106200180d5761010080835404028352916020019162001839565b820191906000526020600020905b8154815290600101906020018083116200181b57829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff16806200186c5750601754610100900460ff16155b620018d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000e09565b60175462010000900460ff16158015620018f7576017805462ffff001916620101001790555b6001600160a01b038c166200195e5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000e09565b60008b11620019815760405162461bcd60e51b815260040162000e09906200475a565b8a831015620019a45760405162461bcd60e51b815260040162000e0990620047a9565b60008911620019c75760405162461bcd60e51b815260040162000e099062004806565b8651620019dc9060029060208a019062003b04565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001a0b9062003b93565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001a3f573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001aab576017805462ff0000191690555b505050505050505050505050565b62001ac362003ba1565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001b5857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001b39575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101562001c3c57838290600052602060002001805462001ba8906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001bd6906200471d565b801562001c275780601f1062001bfb5761010080835404028352916020019162001c27565b820191906000526020600020905b81548152906001019060200180831162001c0957829003601f168201915b50505050508152602001906001019062001b86565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001c9557602002820191906000526020600020905b81548152602001906001019080831162001c80575b5050505050815260200160068201805462001cb0906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001cde906200471d565b801562001d2f5780601f1062001d035761010080835404028352916020019162001d2f565b820191906000526020600020905b81548152906001019060200180831162001d1157829003601f168201915b5050505050815260200160078201805462001d4a906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001d78906200471d565b801562001dc95780601f1062001d9d5761010080835404028352916020019162001dc9565b820191906000526020600020905b81548152906001019060200180831162001dab57829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001df35762001df362004306565b600481111562001e075762001e0762004306565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001e5c57602002820191906000526020600020905b81548152602001906001019080831162001e47575b5050505050815250509050919050565b6000811162001ee45760405162461bcd60e51b815260206004820152603a60248201527f536e617073686f7445524332304775696c643a20546f6b656e7320746f206c6f60448201527f636b2073686f756c6420626520686967686572207468616e2030000000000000606482015260840162000e09565b3360009081526012602052604090205462001f0d57600b5462001f09906001620031c8565b600b555b62001f183362003457565b62001f226200348a565b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b15801562001f6f57600080fd5b505af115801562001f84573d6000803e3d6000fd5b50503360009081526012602052604090205462001fa59250905082620031c8565b33600090815260126020526040902055600d5462001fc5904290620031c8565b33600090815260126020526040902060010155600e5462001fe79082620031c8565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c9101620016dd565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b60608151835114620021025760405162461bcd60e51b815260206004820152604660248201527f536e617073686f7445524332304775696c643a20536e617073686f744964732060448201527f616e64206163636f756e7473206d7573742068617665207468652073616d65206064820152650d8cadccee8d60d31b608482015260a40162000e09565b6000835167ffffffffffffffff81111562002121576200212162003ef6565b6040519080825280602002602001820160405280156200214b578160200160208202803683370190505b50905060005b8451811015620021d4576200219f85828151811062002174576200217462004973565b602002602001015185838151811062002191576200219162004973565b602002602001015162002b57565b828281518110620021b457620021b462004973565b602090810291909101015280620021cb816200499f565b91505062002151565b5090505b92915050565b600062000d8761271062000d8060055462000d79600e5490565b601681815481106200220957600080fd5b600091825260209091200154905081565b60175460ff1615620022845760405162461bcd60e51b815260206004820152602c60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20756e6460448201526b32b91032bc32b1baba34b7b760a11b606482015260840162000e09565b600160008281526015602052604090206008015460ff166004811115620022af57620022af62004306565b14620023145760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20616c7260448201526c1958591e48195e1958dd5d1959609a1b606482015260840162000e09565b60008181526015602052604090206002015442116200238c5760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c2068617360448201526c1b89dd08195b991959081e595d609a1b606482015260840162000e09565b6000805b6000838152601560205260409020600901548110156200248657600083815260186020526040902054620023c49062002b12565b6000848152601560205260409020600901805483908110620023ea57620023ea62004973565b906000526020600020015410158015620024675750600083815260156020526040902060090180548390811062002425576200242562004973565b90600052602060002001546015600085815260200190815260200160002060090182815481106200245a576200245a62004973565b9060005260206000200154115b1562002471578091505b806200247d816200499f565b91505062002390565b81620024d6576000838152601560205260409020600801805460ff1916600290811790915583906000805160206200536f833981519152905b60405190815260200160405180910390a262002afa565b6004546000848152601560205260409020600201544291620024f99190620031c8565b101562002538576000838152601560205260409020600801805460ff1916600490811790915583906000805160206200536f83398151915290620024bf565b600083815260156020526040812060088101805460ff191660031790556009015462002584906200256b9060016200349b565b6000868152601560205260409020600301549062002bce565b90506200259f620025978460016200349b565b829062002bb9565b91506000620025af8383620031c8565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200260257600080fd5b505af115801562002617573d6000803e3d6000fd5b505050505b8083101562002a515760008581526015602052604081206003018054859081106200264b576200264b62004973565b6000918252602090912001546001600160a01b031614801590620026ab5750600085815260156020526040812060040180548590811062002690576200269062004973565b906000526020600020018054620026a7906200471d565b9050115b1562002a3c576000858152601560205260408120600401805485908110620026d757620026d762004973565b906000526020600020018054620026ee906200471d565b80601f01602080910402602001604051908101604052809291908181526020018280546200271c906200471d565b80156200276d5780601f1062002741576101008083540402835291602001916200276d565b820191906000526020600020905b8154815290600101906020018083116200274f57829003601f168201915b50505060208084015160015460008c815260159093526040909220600301805495965090946001600160a01b03909216935063eed470339250309189908110620027bb57620027bb62004973565b9060005260206000200160009054906101000a90046001600160a01b031684601560008d81526020019081526020016000206005018a8154811062002804576200280462004973565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200286957600080fd5b505af19250505080156200287b575060015b620028d7576200288a620049bd565b806308c379a01415620028cb5750620028a2620049da565b80620028af5750620028cd565b8060405162461bcd60e51b815260040162000e09919062003e49565b505b3d6000803e3d6000fd5b6017805460ff1916600117905560008781526015602052604081206003018054879081106200290a576200290a62004973565b60009182526020808320909101548a83526015909152604090912060050180546001600160a01b03909216918890811062002949576200294962004973565b9060005260206000200154601560008b815260200190815260200160002060040188815481106200297e576200297e62004973565b9060005260206000200160405162002997919062004a6a565b60006040518083038185875af1925050503d8060008114620029d6576040519150601f19603f3d011682016040523d82523d6000602084013e620029db565b606091505b505090508062002a2e5760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000e09565b50506017805460ff19169055505b8262002a48816200499f565b9350506200261c565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801562002a9757600080fd5b505af115801562002aac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ad2919062004b0e565b50846000805160206200536f833981519152600360405190815260200160405180910390a250505b600c5462002b0a9060016200349b565b600c55505050565b6000620021d861271062000d8060055462000d79865b600080600062002b3a84601a620034a9565b91509150811562002b4c579392505050565b5050600e5492915050565b6001600160a01b03821660009081526019602052604081208190819062002b80908590620034a9565b91509150811562002b95579150620021d89050565b6001600160a01b0385166000908152601260205260409020545b92505050620021d8565b600062002bc7828462004b32565b9392505050565b600062002bc7828462004b6a565b6000601054600e54101562002c5a5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000e09565b600f54600b54101562002ccc5760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000e09565b600954600c541062002d405760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000e09565b62002d4a62000d5f565b33600090815260126020526040902054101562002dc85760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000e09565b8551875114801562002ddb575084518751145b62002e465760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000e09565b600087511162002eb35760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000e09565b8651841115801562002ed05750845162002ece9085620035b6565b155b62002f445760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000e09565b600a84111562002fbd5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000e09565b600a546040516bffffffffffffffffffffffff193360601b16602082015242603482015260548101919091526000906074016040516020818303038152906040528051906020012090506200301f6001600a54620031c890919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b031916331781554260018201819055600354620030579190620031c8565b600282015588516200307390600383019060208c019062003c11565b5087516200308b90600483019060208b019062003c69565b508651620030a390600583019060208a019062003cc9565b508451620030bb906006830190602088019062003b04565b508351620030d3906007830190602087019062003b04565b50620030e1866001620031c8565b67ffffffffffffffff811115620030fc57620030fc62003ef6565b60405190808252806020026020018201604052801562003126578160200160208202803683370190505b5080516200313f91600984019160209091019062003cc9565b5060088101805460ff19166001908117909155600c546200316091620031c8565b600c55816000805160206200536f833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b600062002bc7828462004b81565b60008381526014602090815260408083206001600160a01b0388168452825280832060010154868452601590925290912060090180546200324c9284926200324592879081106200322b576200322b62004973565b90600052602060002001546200349b90919063ffffffff16565b90620031c8565b600084815260156020526040902060090180548490811062003272576200327262004973565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154620032d9856001600160a01b031660009081526012602052604090206001015490565b10156200330e576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003431576000620033846200337a6008543a620035c490919063ffffffff16565b6007549062002bb9565b9050804710158015620033965750333b155b156200342f57604051600090339083908381818185875af1925050503d8060008114620033e0576040519150601f19603f3d011682016040523d82523d6000602084013e620033e5565b606091505b50509050806200143b5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000e09565b505b50505050565b6000806000620034488585620035dc565b91509150620021d48162003652565b6001600160a01b038116600090815260196020908152604080832060129092529091205462003487919062003825565b50565b62003499601a600e5462003825565b565b600062002bc7828462004b9c565b60008060008411620034fe5760405162461bcd60e51b815260206004820152601b60248201527f536e617073686f7445524332304775696c643a20696420697320300000000000604482015260640162000e09565b601c548411156200355d5760405162461bcd60e51b815260206004820152602260248201527f536e617073686f7445524332304775696c643a206e6f6e6578697374656e74206044820152611a5960f21b606482015260840162000e09565b60006200356b848662003869565b84549091508114156200358657600080925092505062000f50565b6001846001018281548110620035a057620035a062004973565b9060005260206000200154925092505062000f50565b600062002bc7828462004bb6565b6000818310620035d5578162002bc7565b5090919050565b600080825160411415620036175760208301516040840151606085015160001a6200360a8782858562003929565b9450945050505062000f50565b8251604014156200364557602083015160408401516200363986838362003a1e565b93509350505062000f50565b5060009050600262000f50565b600081600481111562003669576200366962004306565b1415620036735750565b60018160048111156200368a576200368a62004306565b1415620036da5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000e09565b6002816004811115620036f157620036f162004306565b1415620037415760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000e09565b600381600481111562003758576200375862004306565b1415620037b35760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000e09565b6004816004811115620037ca57620037ca62004306565b1415620034875760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000e09565b601c5480620038348462003a4f565b1015620010c8578254600180820185556000858152602080822090930193909355938401805494850181558252902090910155565b815460009081905b80821015620038d257600062003888838362003a9d565b905084868281548110620038a057620038a062004973565b90600052602060002001541115620038bb57809150620038cb565b620038c881600162004b81565b92505b5062003871565b6000821180156200390d57508385620038ed60018562004b9c565b8154811062003900576200390062004973565b9060005260206000200154145b15620039205762002baf60018362004b9c565b509050620021d8565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111562003962575060009050600362003a15565b8460ff16601b141580156200397b57508460ff16601c14155b156200398e575060009050600462003a15565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015620039e3573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662003a0e5760006001925092505062003a15565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b0162003a418782888562003929565b935093505050935093915050565b805460009062003a6157506000919050565b8154829062003a739060019062004b9c565b8154811062003a865762003a8662004973565b90600052602060002001549050919050565b919050565b6000600262003aad818462004bb6565b62003aba60028662004bb6565b62003ac6919062004b81565b62003ad2919062004b6a565b62003adf60028462004b6a565b62003aec60028662004b6a565b62003af8919062004b81565b62002bc7919062004b81565b82805462003b12906200471d565b90600052602060002090601f01602090048101928262003b36576000855562003b81565b82601f1062003b5157805160ff191683800117855562003b81565b8280016001018555821562003b81579182015b8281111562003b8157825182559160200191906001019062003b64565b5062003b8f92915062003d06565b5090565b6107a18062004bce83390190565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003c045762003c0462004306565b8152602001606081525090565b82805482825590600052602060002090810192821562003b81579160200282015b8281111562003b8157825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003c32565b82805482825590600052602060002090810192821562003cbb579160200282015b8281111562003cbb578251805162003caa91849160209091019062003b04565b509160200191906001019062003c8a565b5062003b8f92915062003d1d565b82805482825590600052602060002090810192821562003b81579160200282018281111562003b8157825182559160200191906001019062003b64565b5b8082111562003b8f576000815560010162003d07565b8082111562003b8f57600062003d34828262003d3e565b5060010162003d1d565b50805462003d4c906200471d565b6000825580601f1062003d5d575050565b601f01602090049060005260206000209081019062003487919062003d06565b6020808252825182820181905260009190848201906040850190845b8181101562003db75783518352928401929184019160010162003d99565b50909695505050505050565b80356001600160a01b038116811462003a9857600080fd5b60006020828403121562003dee57600080fd5b62002bc78262003dc3565b6000815180845260005b8181101562003e215760208185018101518683018201520162003e03565b8181111562003e34576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062002bc7602083018462003df9565b6000806000806000806000806000806101408b8d03121562003e7f57600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121562003edb57600080fd5b8235915062003eed6020840162003dc3565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562003f355762003f3562003ef6565b6040525050565b600067ffffffffffffffff82111562003f595762003f5962003ef6565b5060051b60200190565b600082601f83011262003f7557600080fd5b8135602062003f848262003f3c565b60405162003f93828262003f0c565b83815260059390931b850182019282810191508684111562003fb457600080fd5b8286015b8481101562003fda5762003fcc8162003dc3565b835291830191830162003fb8565b509695505050505050565b600082601f83011262003ff757600080fd5b813567ffffffffffffffff81111562004014576200401462003ef6565b6040516200402d601f8301601f19166020018262003f0c565b8181528460208386010111156200404357600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200407257600080fd5b81356020620040818262003f3c565b60405162004090828262003f0c565b83815260059390931b8501820192828101915086841115620040b157600080fd5b8286015b8481101562003fda57803567ffffffffffffffff811115620040d75760008081fd5b620040e78986838b010162003fe5565b845250918301918301620040b5565b600082601f8301126200410857600080fd5b81356020620041178262003f3c565b60405162004126828262003f0c565b83815260059390931b85018201928281019150868411156200414757600080fd5b8286015b8481101562003fda57803583529183019183016200414b565b60008060008060008060c087890312156200417e57600080fd5b863567ffffffffffffffff808211156200419757600080fd5b620041a58a838b0162003f63565b97506020890135915080821115620041bc57600080fd5b620041ca8a838b0162004060565b96506040890135915080821115620041e157600080fd5b620041ef8a838b01620040f6565b95506060890135945060808901359150808211156200420d57600080fd5b6200421b8a838b0162003fe5565b935060a08901359150808211156200423257600080fd5b506200424189828a0162003fe5565b9150509295509295509295565b6000806000606084860312156200426457600080fd5b505081359360208301359350604090920135919050565b6000602082840312156200428e57600080fd5b5035919050565b600080600080600060a08688031215620042ae57600080fd5b853594506020860135935060408601359250620042ce6060870162003dc3565b9150608086013567ffffffffffffffff811115620042eb57600080fd5b620042f98882890162003fe5565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b600581106200433b57634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006200436e60c083018662003df9565b828103608084015262004382818662003df9565b9150506200439460a08301846200431c565b979650505050505050565b60008060008060008060008060008060006101608c8e031215620043c257600080fd5b620043cd8c62003dc3565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff8111156200440657600080fd5b620044148e828f0162003fe5565b96505060c08c0135945060e08c013593506101008c013592506101208c01359150620044446101408d0162003dc3565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b83811015620044915781516001600160a01b0316875295820195908201906001016200446a565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015620044e8578284038952620044d584835162003df9565b98850198935090840190600101620044ba565b5091979650505050505050565b600081518084526020808501945080840160005b83811015620044915781518752958201959082019060010162004509565b60208152620045426020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200457661016085018362004456565b91506080850151601f19808685030160a08701526200459684836200449c565b935060a08701519150808685030160c0870152620045b58483620044f5565b935060c08701519150808685030160e0870152620045d4848362003df9565b935060e08701519150610100818786030181880152620045f5858462003df9565b9450808801519250506101206200460f818801846200431c565b8701518685039091018387015290506200462a8382620044f5565b9695505050505050565b600080600080608085870312156200464b57600080fd5b620046568562003dc3565b966020860135965060408601359560600135945092505050565b600080604083850312156200468457600080fd5b823567ffffffffffffffff808211156200469d57600080fd5b620046ab8683870162003f63565b93506020850135915080821115620046c257600080fd5b50620046d185828601620040f6565b9150509250929050565b60208152600062002bc76020830184620044f5565b600080604083850312156200470457600080fd5b6200470f8362003dc3565b946020939093013593505050565b600181811c908216806200473257607f821691505b602082108114156200475457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b60208082526033908201527f536e617073686f7445524332304775696c643a2050726f706f73616c20656e6460408201527219590b0818d85b9b9bdd081899481d9bdd1959606a1b606082015260800190565b6020808252602e908201527f536e617073686f7445524332304775696c643a20496e76616c696420766f746960408201526d1b99d41bddd95c88185b5bdd5b9d60921b606082015260800190565b60208082526049908201527f536e617073686f7445524332304775696c643a2043616e6e6f74206368616e6760408201527f65206f7074696f6e20766f7465642c206f6e6c7920696e63726561736520766f6060820152683a34b733a837bbb2b960b91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620049b657620049b662004989565b5060010190565b600060033d1115620049d75760046000803e5060005160e01c5b90565b600060443d1015620049e95790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171562004a1a57505050505090565b828501915081518181111562004a335750505050505090565b843d870101602082850101111562004a4e5750505050505090565b62004a5f6020828601018762003f0c565b509095945050505050565b600080835481600182811c91508083168062004a8757607f831692505b602080841082141562004aa857634e487b7160e01b86526022600452602486fd5b81801562004abf576001811462004ad15762004b00565b60ff1986168952848901965062004b00565b60008a81526020902060005b8681101562004af85781548b82015290850190830162004add565b505084890196505b509498975050505050505050565b60006020828403121562004b2157600080fd5b8151801515811462002bc757600080fd5b600081600019048311821515161562004b4f5762004b4f62004989565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262004b7c5762004b7c62004b54565b500490565b6000821982111562004b975762004b9762004989565b500190565b60008282101562004bb15762004bb162004989565b500390565b60008262004bc85762004bc862004b54565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212202f9f386b76367e26538679bfcdbd3965a58b68f2af46243289cb521610de946a64736f6c63430008080033", - "deployedBytecode": "0x608060405260043610620003d95760003560e01c80635e508c2c1162000203578063b3929aaa1162000117578063e158080a11620000a7578063f98606a71162000075578063f98606a71462000bf8578063f9a92d821462000c10578063fc0c546a1462000c35578063fc4e703f1462000c5757005b8063e158080a1462000b61578063ed996f5e1462000b79578063f09951981462000b9e578063f4732da61462000be157005b8063bcc3f3bd11620000e5578063bcc3f3bd1462000ae1578063c0a4d64d1462000b1b578063c93e01e31462000b32578063e04503531462000b4957005b8063b3929aaa1462000a5b578063b3b470611462000a80578063b7c15f8d1462000aa5578063bba363a01462000abc57005b80638f1803051162000193578063a7aeb5571162000161578063a7aeb55714620009e0578063ad6c1e3414620009f8578063adf2c7b61462000a0f578063ae6192341462000a4357005b80638f180305146200096c57806392b716541462000983578063a16fe34214620009a8578063a78d80fc14620009c857005b80637189354611620001d15780637189354614620008d957806377027ff4146200090a5780638029eff1146200092157806389c98c06146200095557005b80635e508c2c146200086e57806364fe6ed214620008865780636c8b72f6146200089d5780636e27d88914620008b457005b80632467ef9411620002fb5780633bf353fb116200028b5780635439ad8611620002595780635439ad8614620007fd57806354f2f7af14620008145780635689141214620008345780635bc789d9146200084c57005b80633bf353fb14620007815780633de39c1114620007995780633f10cf1514620007b1578063430694cf14620007c957005b80632fd99c0011620002c95780632fd99c0014620006b9578063315a095d14620006fe57806332ed5b12146200072357806336f8f8d9146200075c57005b80632467ef94146200061657806325c069fc146200062d5780632d5b17de14620006575780632d757c3e146200067c57005b806313108d7411620003775780631a5007dd11620003455780631a5007dd146200058357806321df0da7146200059a5780632229a0e214620005ce57806322bafdff14620005e557005b806313108d74146200050957806316bbecde146200052e57806317d7de7c1462000553578063184a0ae9146200056b57005b80630a366a6311620003b55780630a366a6314620004805780630d66808714620004a7578063123f6d6714620004bf578063130485fe14620004e457005b80623a40d014620003db57806301a598a6146200040b57806306fdde031462000459575b005b348015620003e857600080fd5b50620003f362000c6f565b60405162000402919062003d7d565b60405180910390f35b3480156200041857600080fd5b50620004436200042a36600462003ddb565b6012602052600090815260409020805460019091015482565b6040805192835260208301919091520162000402565b3480156200046657600080fd5b506200047162000cc9565b60405162000402919062003e49565b3480156200048d57600080fd5b506200049862000d5f565b60405190815260200162000402565b348015620004b457600080fd5b5062000498600d5481565b348015620004cc57600080fd5b50620003d9620004de36600462003e5e565b62000d8c565b348015620004f157600080fd5b50620004436200050336600462003ec7565b62000f25565b3480156200051657600080fd5b50620004986200052836600462004164565b62000f57565b3480156200053b57600080fd5b50620003d96200054d3660046200424e565b62000f9c565b3480156200056057600080fd5b5062000471620010cd565b3480156200057857600080fd5b506200049860035481565b3480156200059057600080fd5b50600a5462000498565b348015620005a757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200162000402565b348015620005db57600080fd5b5060165462000498565b348015620005f257600080fd5b5062000498620006043660046200427b565b60009081526018602052604090205490565b3480156200062357600080fd5b50600c5462000498565b3480156200063a57600080fd5b5062000644600a81565b60405160ff909116815260200162000402565b3480156200066457600080fd5b50620003d96200067636600462004295565b6200115e565b3480156200068957600080fd5b50620004986200069b36600462003ddb565b6001600160a01b031660009081526012602052604090206001015490565b348015620006c657600080fd5b50620006ed620006d83660046200427b565b60136020526000908152604090205460ff1681565b604051901515815260200162000402565b3480156200070b57600080fd5b50620003d96200071d3660046200427b565b62001443565b3480156200073057600080fd5b5062000748620007423660046200427b565b620016e8565b60405162000402969594939291906200433f565b3480156200076957600080fd5b50620003d96200077b3660046200439f565b6200184c565b3480156200078e57600080fd5b5062000498600c5481565b348015620007a657600080fd5b506200049860085481565b348015620007be57600080fd5b506200049860045481565b348015620007d657600080fd5b50620007ee620007e83660046200427b565b62001ab9565b60405162000402919062004527565b3480156200080a57600080fd5b50601c5462000498565b3480156200082157600080fd5b506011546001600160a01b0316620005b5565b3480156200084157600080fd5b5062000498600e5481565b3480156200085957600080fd5b50601154620005b5906001600160a01b031681565b3480156200087b57600080fd5b506200049860055481565b3480156200089357600080fd5b5060105462000498565b348015620008aa57600080fd5b5060075462000498565b348015620008c157600080fd5b50620003d9620008d33660046200427b565b62001e6c565b348015620008e657600080fd5b5062000498620008f83660046200427b565b60186020526000908152604090205481565b3480156200091757600080fd5b5060095462000498565b3480156200092e57600080fd5b50620006ed620009403660046200427b565b60009081526013602052604090205460ff1690565b3480156200096257600080fd5b5060085462000498565b3480156200097957600080fd5b50600b5462000498565b3480156200099057600080fd5b5062000498620009a236600462004634565b62002021565b348015620009b557600080fd5b506001546001600160a01b0316620005b5565b348015620009d557600080fd5b5062000498600a5481565b348015620009ed57600080fd5b5062000498600f5481565b34801562000a0557600080fd5b50600f5462000498565b34801562000a1c57600080fd5b5062000a3462000a2e36600462004670565b62002078565b604051620004029190620046db565b34801562000a5057600080fd5b5062000498620021de565b34801562000a6857600080fd5b506200049862000a7a3660046200427b565b620021f8565b34801562000a8d57600080fd5b50620003d962000a9f3660046200427b565b6200221a565b34801562000ab257600080fd5b5060045462000498565b34801562000ac957600080fd5b506200049862000adb3660046200427b565b62002b12565b34801562000aee57600080fd5b506200049862000b0036600462003ddb565b6001600160a01b031660009081526012602052604090205490565b34801562000b2857600080fd5b50600d5462000498565b34801562000b3f57600080fd5b5060035462000498565b34801562000b5657600080fd5b506200049860095481565b34801562000b6e57600080fd5b506200049860105481565b34801562000b8657600080fd5b506200049862000b983660046200427b565b62002b28565b34801562000bab57600080fd5b506200044362000bbd36600462003ec7565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000bee57600080fd5b50600e5462000498565b34801562000c0557600080fd5b506200049860065481565b34801562000c1d57600080fd5b506200049862000c2f366004620046f0565b62002b57565b34801562000c4257600080fd5b50600054620005b5906001600160a01b031681565b34801562000c6457600080fd5b506200049860075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000cbf57602002820191906000526020600020905b81548152602001906001019080831162000caa575b5050505050905090565b6002805462000cd8906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462000d06906200471d565b801562000d575780601f1062000d2b5761010080835404028352916020019162000d57565b820191906000526020600020905b81548152906001019060200180831162000d3957829003601f168201915b505050505081565b600062000d8761271062000d8060065462000d79600e5490565b9062002bb9565b9062002bce565b905090565b33301462000e125760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000e355760405162461bcd60e51b815260040162000e09906200475a565b8983101562000e585760405162461bcd60e51b815260040162000e0990620047a9565b6000881162000e7b5760405162461bcd60e51b815260040162000e099062004806565b6201c90886111562000ef65760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000e09565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b60008062000f6a88888888888862002bdc565b601c5490915062000f7d906001620031c8565b601c819055600082815260186020526040902055979650505050505050565b600083815260156020526040902060020154421062000fcf5760405162461bcd60e51b815260040162000e099062004863565b600083815260186020526040902054819062000fed90339062002b57565b10156200100e5760405162461bcd60e51b815260040162000e0990620048b6565b60008381526014602090815260408083203384529091529020541580156200105057506000838152601460209081526040808320338452909152902060010154155b806200109b57506000838152601460209081526040808320338452909152902054821480156200109b5750600083815260146020908152604080832033845290915290206001015481115b620010ba5760405162461bcd60e51b815260040162000e099062004904565b620010c833848484620031d6565b505050565b606060028054620010de906200471d565b80601f01602080910402602001604051908101604052809291908181526020018280546200110c906200471d565b801562000cbf5780601f10620011315761010080835404028352916020019162000cbf565b820191906000526020600020905b8154815290600101906020018083116200113f57509395945050505050565b6000858152601560205260409020600201544210620011915760405162461bcd60e51b815260040162000e099062004863565b6000620011a18387878762002021565b60008181526013602052604090205490915060ff16156200120f5760405162461bcd60e51b815260206004820152602160248201527f536e617073686f7445524332304775696c643a20416c726561647920766f74656044820152601960fa1b606482015260840162000e09565b62001273826200126c836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003437565b6001600160a01b0316836001600160a01b031614620012d55760405162461bcd60e51b815260206004820181905260248201527f536e617073686f7445524332304775696c643a2057726f6e67207369676e6572604482015260640162000e09565b6000818152601360209081526040808320805460ff19166001179055888352601890915290205484906200130b90859062002b57565b101580156200133e575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6200135d5760405162461bcd60e51b815260040162000e0990620048b6565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620013b1575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b806200140e575060008681526014602090815260408083206001600160a01b0387168452909152902054851480156200140e575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6200142d5760405162461bcd60e51b815260040162000e099062004904565b6200143b83878787620031d6565b505050505050565b33600090815260126020526040902054811115620014ca5760405162461bcd60e51b815260206004820152603e60248201527f536e617073686f7445524332304775696c643a20556e61626c6520746f20776960448201527f746864726177206d6f726520746f6b656e73207468616e206c6f636b65640000606482015260840162000e09565b3360009081526012602052604090206001015442116200153d5760405162461bcd60e51b815260206004820152602760248201527f536e617073686f7445524332304775696c643a20546f6b656e73207374696c6c604482015266081b1bd8dad95960ca1b606482015260840162000e09565b60008111620015c55760405162461bcd60e51b815260206004820152604760248201527f536e617073686f7445524332304775696c643a20616d6f756e74206f6620746f60448201527f6b656e7320746f207769746864726177206d75737420626520677265617465726064820152660207468616e20360cc1b608482015260a40162000e09565b620015d03362003457565b620015da6200348a565b33600090815260126020526040902054620015f690826200349b565b33600090815260126020526040902055600e546200161590826200349b565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b1580156200166557600080fd5b505af11580156200167a573d6000803e3d6000fd5b50503360009081526012602052604090205415159150620016ab905057600b54620016a79060016200349b565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b0390941694929391929162001724906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001752906200471d565b8015620017a35780601f106200177757610100808354040283529160200191620017a3565b820191906000526020600020905b8154815290600101906020018083116200178557829003601f168201915b505050505090806007018054620017ba906200471d565b80601f0160208091040260200160405190810160405280929190818152602001828054620017e8906200471d565b8015620018395780601f106200180d5761010080835404028352916020019162001839565b820191906000526020600020905b8154815290600101906020018083116200181b57829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff16806200186c5750601754610100900460ff16155b620018d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000e09565b60175462010000900460ff16158015620018f7576017805462ffff001916620101001790555b6001600160a01b038c166200195e5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000e09565b60008b11620019815760405162461bcd60e51b815260040162000e09906200475a565b8a831015620019a45760405162461bcd60e51b815260040162000e0990620047a9565b60008911620019c75760405162461bcd60e51b815260040162000e099062004806565b8651620019dc9060029060208a019062003b04565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001a0b9062003b93565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001a3f573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001aab576017805462ff0000191690555b505050505050505050505050565b62001ac362003ba1565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001b5857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001b39575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101562001c3c57838290600052602060002001805462001ba8906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001bd6906200471d565b801562001c275780601f1062001bfb5761010080835404028352916020019162001c27565b820191906000526020600020905b81548152906001019060200180831162001c0957829003601f168201915b50505050508152602001906001019062001b86565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001c9557602002820191906000526020600020905b81548152602001906001019080831162001c80575b5050505050815260200160068201805462001cb0906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001cde906200471d565b801562001d2f5780601f1062001d035761010080835404028352916020019162001d2f565b820191906000526020600020905b81548152906001019060200180831162001d1157829003601f168201915b5050505050815260200160078201805462001d4a906200471d565b80601f016020809104026020016040519081016040528092919081815260200182805462001d78906200471d565b801562001dc95780601f1062001d9d5761010080835404028352916020019162001dc9565b820191906000526020600020905b81548152906001019060200180831162001dab57829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001df35762001df362004306565b600481111562001e075762001e0762004306565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001e5c57602002820191906000526020600020905b81548152602001906001019080831162001e47575b5050505050815250509050919050565b6000811162001ee45760405162461bcd60e51b815260206004820152603a60248201527f536e617073686f7445524332304775696c643a20546f6b656e7320746f206c6f60448201527f636b2073686f756c6420626520686967686572207468616e2030000000000000606482015260840162000e09565b3360009081526012602052604090205462001f0d57600b5462001f09906001620031c8565b600b555b62001f183362003457565b62001f226200348a565b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b15801562001f6f57600080fd5b505af115801562001f84573d6000803e3d6000fd5b50503360009081526012602052604090205462001fa59250905082620031c8565b33600090815260126020526040902055600d5462001fc5904290620031c8565b33600090815260126020526040902060010155600e5462001fe79082620031c8565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c9101620016dd565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b60608151835114620021025760405162461bcd60e51b815260206004820152604660248201527f536e617073686f7445524332304775696c643a20536e617073686f744964732060448201527f616e64206163636f756e7473206d7573742068617665207468652073616d65206064820152650d8cadccee8d60d31b608482015260a40162000e09565b6000835167ffffffffffffffff81111562002121576200212162003ef6565b6040519080825280602002602001820160405280156200214b578160200160208202803683370190505b50905060005b8451811015620021d4576200219f85828151811062002174576200217462004973565b602002602001015185838151811062002191576200219162004973565b602002602001015162002b57565b828281518110620021b457620021b462004973565b602090810291909101015280620021cb816200499f565b91505062002151565b5090505b92915050565b600062000d8761271062000d8060055462000d79600e5490565b601681815481106200220957600080fd5b600091825260209091200154905081565b60175460ff1615620022845760405162461bcd60e51b815260206004820152602c60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20756e6460448201526b32b91032bc32b1baba34b7b760a11b606482015260840162000e09565b600160008281526015602052604090206008015460ff166004811115620022af57620022af62004306565b14620023145760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20616c7260448201526c1958591e48195e1958dd5d1959609a1b606482015260840162000e09565b60008181526015602052604090206002015442116200238c5760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c2068617360448201526c1b89dd08195b991959081e595d609a1b606482015260840162000e09565b6000805b6000838152601560205260409020600901548110156200248657600083815260186020526040902054620023c49062002b12565b6000848152601560205260409020600901805483908110620023ea57620023ea62004973565b906000526020600020015410158015620024675750600083815260156020526040902060090180548390811062002425576200242562004973565b90600052602060002001546015600085815260200190815260200160002060090182815481106200245a576200245a62004973565b9060005260206000200154115b1562002471578091505b806200247d816200499f565b91505062002390565b81620024d6576000838152601560205260409020600801805460ff1916600290811790915583906000805160206200536f833981519152905b60405190815260200160405180910390a262002afa565b6004546000848152601560205260409020600201544291620024f99190620031c8565b101562002538576000838152601560205260409020600801805460ff1916600490811790915583906000805160206200536f83398151915290620024bf565b600083815260156020526040812060088101805460ff191660031790556009015462002584906200256b9060016200349b565b6000868152601560205260409020600301549062002bce565b90506200259f620025978460016200349b565b829062002bb9565b91506000620025af8383620031c8565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200260257600080fd5b505af115801562002617573d6000803e3d6000fd5b505050505b8083101562002a515760008581526015602052604081206003018054859081106200264b576200264b62004973565b6000918252602090912001546001600160a01b031614801590620026ab5750600085815260156020526040812060040180548590811062002690576200269062004973565b906000526020600020018054620026a7906200471d565b9050115b1562002a3c576000858152601560205260408120600401805485908110620026d757620026d762004973565b906000526020600020018054620026ee906200471d565b80601f01602080910402602001604051908101604052809291908181526020018280546200271c906200471d565b80156200276d5780601f1062002741576101008083540402835291602001916200276d565b820191906000526020600020905b8154815290600101906020018083116200274f57829003601f168201915b50505060208084015160015460008c815260159093526040909220600301805495965090946001600160a01b03909216935063eed470339250309189908110620027bb57620027bb62004973565b9060005260206000200160009054906101000a90046001600160a01b031684601560008d81526020019081526020016000206005018a8154811062002804576200280462004973565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200286957600080fd5b505af19250505080156200287b575060015b620028d7576200288a620049bd565b806308c379a01415620028cb5750620028a2620049da565b80620028af5750620028cd565b8060405162461bcd60e51b815260040162000e09919062003e49565b505b3d6000803e3d6000fd5b6017805460ff1916600117905560008781526015602052604081206003018054879081106200290a576200290a62004973565b60009182526020808320909101548a83526015909152604090912060050180546001600160a01b03909216918890811062002949576200294962004973565b9060005260206000200154601560008b815260200190815260200160002060040188815481106200297e576200297e62004973565b9060005260206000200160405162002997919062004a6a565b60006040518083038185875af1925050503d8060008114620029d6576040519150601f19603f3d011682016040523d82523d6000602084013e620029db565b606091505b505090508062002a2e5760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000e09565b50506017805460ff19169055505b8262002a48816200499f565b9350506200261c565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b15801562002a9757600080fd5b505af115801562002aac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ad2919062004b0e565b50846000805160206200536f833981519152600360405190815260200160405180910390a250505b600c5462002b0a9060016200349b565b600c55505050565b6000620021d861271062000d8060055462000d79865b600080600062002b3a84601a620034a9565b91509150811562002b4c579392505050565b5050600e5492915050565b6001600160a01b03821660009081526019602052604081208190819062002b80908590620034a9565b91509150811562002b95579150620021d89050565b6001600160a01b0385166000908152601260205260409020545b92505050620021d8565b600062002bc7828462004b32565b9392505050565b600062002bc7828462004b6a565b6000601054600e54101562002c5a5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000e09565b600f54600b54101562002ccc5760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000e09565b600954600c541062002d405760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000e09565b62002d4a62000d5f565b33600090815260126020526040902054101562002dc85760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000e09565b8551875114801562002ddb575084518751145b62002e465760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000e09565b600087511162002eb35760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000e09565b8651841115801562002ed05750845162002ece9085620035b6565b155b62002f445760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000e09565b600a84111562002fbd5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000e09565b600a546040516bffffffffffffffffffffffff193360601b16602082015242603482015260548101919091526000906074016040516020818303038152906040528051906020012090506200301f6001600a54620031c890919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b031916331781554260018201819055600354620030579190620031c8565b600282015588516200307390600383019060208c019062003c11565b5087516200308b90600483019060208b019062003c69565b508651620030a390600583019060208a019062003cc9565b508451620030bb906006830190602088019062003b04565b508351620030d3906007830190602087019062003b04565b50620030e1866001620031c8565b67ffffffffffffffff811115620030fc57620030fc62003ef6565b60405190808252806020026020018201604052801562003126578160200160208202803683370190505b5080516200313f91600984019160209091019062003cc9565b5060088101805460ff19166001908117909155600c546200316091620031c8565b600c55816000805160206200536f833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b600062002bc7828462004b81565b60008381526014602090815260408083206001600160a01b0388168452825280832060010154868452601590925290912060090180546200324c9284926200324592879081106200322b576200322b62004973565b90600052602060002001546200349b90919063ffffffff16565b90620031c8565b600084815260156020526040902060090180548490811062003272576200327262004973565b60009182526020808320909101929092558481526014825260408082206001600160a01b0388168352835280822085815560010184905585825260159092522060020154620032d9856001600160a01b031660009081526012602052604090206001015490565b10156200330e576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003431576000620033846200337a6008543a620035c490919063ffffffff16565b6007549062002bb9565b9050804710158015620033965750333b155b156200342f57604051600090339083908381818185875af1925050503d8060008114620033e0576040519150601f19603f3d011682016040523d82523d6000602084013e620033e5565b606091505b50509050806200143b5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000e09565b505b50505050565b6000806000620034488585620035dc565b91509150620021d48162003652565b6001600160a01b038116600090815260196020908152604080832060129092529091205462003487919062003825565b50565b62003499601a600e5462003825565b565b600062002bc7828462004b9c565b60008060008411620034fe5760405162461bcd60e51b815260206004820152601b60248201527f536e617073686f7445524332304775696c643a20696420697320300000000000604482015260640162000e09565b601c548411156200355d5760405162461bcd60e51b815260206004820152602260248201527f536e617073686f7445524332304775696c643a206e6f6e6578697374656e74206044820152611a5960f21b606482015260840162000e09565b60006200356b848662003869565b84549091508114156200358657600080925092505062000f50565b6001846001018281548110620035a057620035a062004973565b9060005260206000200154925092505062000f50565b600062002bc7828462004bb6565b6000818310620035d5578162002bc7565b5090919050565b600080825160411415620036175760208301516040840151606085015160001a6200360a8782858562003929565b9450945050505062000f50565b8251604014156200364557602083015160408401516200363986838362003a1e565b93509350505062000f50565b5060009050600262000f50565b600081600481111562003669576200366962004306565b1415620036735750565b60018160048111156200368a576200368a62004306565b1415620036da5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000e09565b6002816004811115620036f157620036f162004306565b1415620037415760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000e09565b600381600481111562003758576200375862004306565b1415620037b35760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000e09565b6004816004811115620037ca57620037ca62004306565b1415620034875760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000e09565b601c5480620038348462003a4f565b1015620010c8578254600180820185556000858152602080822090930193909355938401805494850181558252902090910155565b815460009081905b80821015620038d257600062003888838362003a9d565b905084868281548110620038a057620038a062004973565b90600052602060002001541115620038bb57809150620038cb565b620038c881600162004b81565b92505b5062003871565b6000821180156200390d57508385620038ed60018562004b9c565b8154811062003900576200390062004973565b9060005260206000200154145b15620039205762002baf60018362004b9c565b509050620021d8565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111562003962575060009050600362003a15565b8460ff16601b141580156200397b57508460ff16601c14155b156200398e575060009050600462003a15565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015620039e3573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662003a0e5760006001925092505062003a15565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b0162003a418782888562003929565b935093505050935093915050565b805460009062003a6157506000919050565b8154829062003a739060019062004b9c565b8154811062003a865762003a8662004973565b90600052602060002001549050919050565b919050565b6000600262003aad818462004bb6565b62003aba60028662004bb6565b62003ac6919062004b81565b62003ad2919062004b6a565b62003adf60028462004b6a565b62003aec60028662004b6a565b62003af8919062004b81565b62002bc7919062004b81565b82805462003b12906200471d565b90600052602060002090601f01602090048101928262003b36576000855562003b81565b82601f1062003b5157805160ff191683800117855562003b81565b8280016001018555821562003b81579182015b8281111562003b8157825182559160200191906001019062003b64565b5062003b8f92915062003d06565b5090565b6107a18062004bce83390190565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003c045762003c0462004306565b8152602001606081525090565b82805482825590600052602060002090810192821562003b81579160200282015b8281111562003b8157825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003c32565b82805482825590600052602060002090810192821562003cbb579160200282015b8281111562003cbb578251805162003caa91849160209091019062003b04565b509160200191906001019062003c8a565b5062003b8f92915062003d1d565b82805482825590600052602060002090810192821562003b81579160200282018281111562003b8157825182559160200191906001019062003b64565b5b8082111562003b8f576000815560010162003d07565b8082111562003b8f57600062003d34828262003d3e565b5060010162003d1d565b50805462003d4c906200471d565b6000825580601f1062003d5d575050565b601f01602090049060005260206000209081019062003487919062003d06565b6020808252825182820181905260009190848201906040850190845b8181101562003db75783518352928401929184019160010162003d99565b50909695505050505050565b80356001600160a01b038116811462003a9857600080fd5b60006020828403121562003dee57600080fd5b62002bc78262003dc3565b6000815180845260005b8181101562003e215760208185018101518683018201520162003e03565b8181111562003e34576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062002bc7602083018462003df9565b6000806000806000806000806000806101408b8d03121562003e7f57600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121562003edb57600080fd5b8235915062003eed6020840162003dc3565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562003f355762003f3562003ef6565b6040525050565b600067ffffffffffffffff82111562003f595762003f5962003ef6565b5060051b60200190565b600082601f83011262003f7557600080fd5b8135602062003f848262003f3c565b60405162003f93828262003f0c565b83815260059390931b850182019282810191508684111562003fb457600080fd5b8286015b8481101562003fda5762003fcc8162003dc3565b835291830191830162003fb8565b509695505050505050565b600082601f83011262003ff757600080fd5b813567ffffffffffffffff81111562004014576200401462003ef6565b6040516200402d601f8301601f19166020018262003f0c565b8181528460208386010111156200404357600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200407257600080fd5b81356020620040818262003f3c565b60405162004090828262003f0c565b83815260059390931b8501820192828101915086841115620040b157600080fd5b8286015b8481101562003fda57803567ffffffffffffffff811115620040d75760008081fd5b620040e78986838b010162003fe5565b845250918301918301620040b5565b600082601f8301126200410857600080fd5b81356020620041178262003f3c565b60405162004126828262003f0c565b83815260059390931b85018201928281019150868411156200414757600080fd5b8286015b8481101562003fda57803583529183019183016200414b565b60008060008060008060c087890312156200417e57600080fd5b863567ffffffffffffffff808211156200419757600080fd5b620041a58a838b0162003f63565b97506020890135915080821115620041bc57600080fd5b620041ca8a838b0162004060565b96506040890135915080821115620041e157600080fd5b620041ef8a838b01620040f6565b95506060890135945060808901359150808211156200420d57600080fd5b6200421b8a838b0162003fe5565b935060a08901359150808211156200423257600080fd5b506200424189828a0162003fe5565b9150509295509295509295565b6000806000606084860312156200426457600080fd5b505081359360208301359350604090920135919050565b6000602082840312156200428e57600080fd5b5035919050565b600080600080600060a08688031215620042ae57600080fd5b853594506020860135935060408601359250620042ce6060870162003dc3565b9150608086013567ffffffffffffffff811115620042eb57600080fd5b620042f98882890162003fe5565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b600581106200433b57634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006200436e60c083018662003df9565b828103608084015262004382818662003df9565b9150506200439460a08301846200431c565b979650505050505050565b60008060008060008060008060008060006101608c8e031215620043c257600080fd5b620043cd8c62003dc3565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff8111156200440657600080fd5b620044148e828f0162003fe5565b96505060c08c0135945060e08c013593506101008c013592506101208c01359150620044446101408d0162003dc3565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b83811015620044915781516001600160a01b0316875295820195908201906001016200446a565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b85811015620044e8578284038952620044d584835162003df9565b98850198935090840190600101620044ba565b5091979650505050505050565b600081518084526020808501945080840160005b83811015620044915781518752958201959082019060010162004509565b60208152620045426020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200457661016085018362004456565b91506080850151601f19808685030160a08701526200459684836200449c565b935060a08701519150808685030160c0870152620045b58483620044f5565b935060c08701519150808685030160e0870152620045d4848362003df9565b935060e08701519150610100818786030181880152620045f5858462003df9565b9450808801519250506101206200460f818801846200431c565b8701518685039091018387015290506200462a8382620044f5565b9695505050505050565b600080600080608085870312156200464b57600080fd5b620046568562003dc3565b966020860135965060408601359560600135945092505050565b600080604083850312156200468457600080fd5b823567ffffffffffffffff808211156200469d57600080fd5b620046ab8683870162003f63565b93506020850135915080821115620046c257600080fd5b50620046d185828601620040f6565b9150509250929050565b60208152600062002bc76020830184620044f5565b600080604083850312156200470457600080fd5b6200470f8362003dc3565b946020939093013593505050565b600181811c908216806200473257607f821691505b602082108114156200475457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b60208082526033908201527f536e617073686f7445524332304775696c643a2050726f706f73616c20656e6460408201527219590b0818d85b9b9bdd081899481d9bdd1959606a1b606082015260800190565b6020808252602e908201527f536e617073686f7445524332304775696c643a20496e76616c696420766f746960408201526d1b99d41bddd95c88185b5bdd5b9d60921b606082015260800190565b60208082526049908201527f536e617073686f7445524332304775696c643a2043616e6e6f74206368616e6760408201527f65206f7074696f6e20766f7465642c206f6e6c7920696e63726561736520766f6060820152683a34b733a837bbb2b960b91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620049b657620049b662004989565b5060010190565b600060033d1115620049d75760046000803e5060005160e01c5b90565b600060443d1015620049e95790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171562004a1a57505050505090565b828501915081518181111562004a335750505050505090565b843d870101602082850101111562004a4e5750505050505090565b62004a5f6020828601018762003f0c565b509095945050505050565b600080835481600182811c91508083168062004a8757607f831692505b602080841082141562004aa857634e487b7160e01b86526022600452602486fd5b81801562004abf576001811462004ad15762004b00565b60ff1986168952848901965062004b00565b60008a81526020902060005b8681101562004af85781548b82015290850190830162004add565b505084890196505b509498975050505050505050565b60006020828403121562004b2157600080fd5b8151801515811462002bc757600080fd5b600081600019048311821515161562004b4f5762004b4f62004989565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262004b7c5762004b7c62004b54565b500490565b6000821982111562004b975762004b9762004989565b500190565b60008282101562004bb15762004bb162004989565b500390565b60008262004bc85762004bc862004b54565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a26469706673582212202f9f386b76367e26538679bfcdbd3965a58b68f2af46243289cb521610de946a64736f6c63430008080033", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "SnapshotERC20Guild", + "sourceName": "dxdao-contracts/contracts/erc20guild/implementations/SnapshotERC20Guild.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newState", + "type": "uint256" + } + ], + "name": "ProposalStateChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "VoteAdded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "MAX_OPTIONS_PER_PROPOSAL", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activeProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "totalOptions", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + } + ], + "name": "createProposal", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "endProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "executeSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "roots", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "voters", + "type": "address[]" + }, + { + "internalType": "bytes32[]", + "name": "votesHashes", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[][]", + "name": "proofs", + "type": "bytes32[][]" + }, + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeSignedVotesBatches", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeVotes", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getActiveProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentSnapshotId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getName", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPermissionRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + }, + { + "internalType": "uint256[]", + "name": "totalVotes", + "type": "uint256[]" + } + ], + "internalType": "struct BaseERC20Guild.Proposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getProposalSnapshotId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getProposalVotesOfVoter", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIds", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIdsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "signedVoteHash", + "type": "bytes32" + } + ], + "name": "getSignedVote", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTimeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTokenVault", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalMembers", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getVoterLockTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" + } + ], + "name": "getVotingPowerForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "hashVote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_permissionRegistry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "lockTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "proposalVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposalsIds", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposalsSnapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumMembersForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumTokensLockedForProposalCreation", + "type": "uint256" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "setSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "setVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "signedVotes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "timeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20Upgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenVault", + "outputs": [ + { + "internalType": "contract TokenVault", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tokensLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" + } + ], + "name": "totalLockedAt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "validateMerkleTreeLeaf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "voteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "votingPowerOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" + } + ], + "name": "votingPowerOfAt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "snapshotIds", + "type": "uint256[]" + } + ], + "name": "votingPowerOfMultipleAt", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "withdrawTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040526001601c5534801561001557600080fd5b506161c680620000266000396000f3fe608060405260043610620004095760003560e01c8063671abed7116200021b578063ae6192341162000123578063e045035311620000b3578063f4732da61162000081578063f4732da61462000c9f578063f98606a71462000cb6578063f9a92d821462000cce578063fc0c546a1462000cf3578063fc4e703f1462000d1557005b8063e04503531462000c07578063e158080a1462000c1f578063ed996f5e1462000c37578063f09951981462000c5c57005b8063bba363a011620000f1578063bba363a01462000b8f578063bcc3f3bd1462000bb4578063c0a4d64d1462000bd9578063c93e01e31462000bf057005b8063ae6192341462000b16578063b3929aaa1462000b2e578063b3b470611462000b53578063b7c15f8d1462000b7857005b80638bb8591e11620001ab578063a78d80fc1162000179578063a78d80fc1462000a76578063a7aeb5571462000a8e578063ab6ea06b1462000aa6578063ad6c1e341462000acb578063adf2c7b61462000ae257005b80638bb8591e14620009f55780638f1803051462000a1a57806392b716541462000a31578063a16fe3421462000a5657005b806377027ff411620001e957806377027ff4146200096e5780638029eff1146200098557806386e2712514620009b957806389c98c0614620009de57005b8063671abed714620008cd5780636c8b72f614620009015780636e27d889146200091857806371893546146200093d57005b806325c069fc116200031f5780633de39c1111620002af57806354f2f7af116200027d57806354f2f7af14620008445780635689141214620008645780635bc789d9146200087c5780635e508c2c146200089e57806364fe6ed214620008b657005b80633de39c1114620007c95780633f10cf1514620007e1578063430694cf14620007f95780635439ad86146200082d57005b8063315a095d11620002ed578063315a095d146200072e57806332ed5b12146200075357806336f8f8d9146200078c5780633bf353fb14620007b157005b806325c069fc146200065d5780632d5b17de14620006875780632d757c3e14620006ac5780632fd99c0014620006e957005b806316bbecde116200039b57806321df0da7116200036957806321df0da714620005ca5780632229a0e214620005fe57806322bafdff14620006155780632467ef94146200064657005b806316bbecde146200055e57806317d7de7c1462000583578063184a0ae9146200059b5780631a5007dd14620005b357005b80630d66808711620003d95780630d66808714620004d7578063123f6d6714620004ef578063130485fe146200051457806313108d74146200053957005b80623a40d0146200040b57806301a598a6146200043b57806306fdde0314620004895780630a366a6314620004b0575b005b3480156200041857600080fd5b506200042362000d2d565b6040516200043291906200482f565b60405180910390f35b3480156200044857600080fd5b50620004736200045a3660046200488d565b6012602052600090815260409020805460019091015482565b6040805192835260208301919091520162000432565b3480156200049657600080fd5b50620004a162000d87565b604051620004329190620048fb565b348015620004bd57600080fd5b50620004c862000e1d565b60405190815260200162000432565b348015620004e457600080fd5b50620004c8600d5481565b348015620004fc57600080fd5b50620004096200050e36600462004910565b62000e4a565b3480156200052157600080fd5b50620004736200053336600462004979565b62000fe3565b3480156200054657600080fd5b50620004c86200055836600462004c12565b62001015565b3480156200056b57600080fd5b50620004096200057d36600462004cfb565b6200105a565b3480156200059057600080fd5b50620004a16200118b565b348015620005a857600080fd5b50620004c860035481565b348015620005c057600080fd5b50600a54620004c8565b348015620005d757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200162000432565b3480156200060b57600080fd5b50601654620004c8565b3480156200062257600080fd5b50620004c86200063436600462004d28565b60009081526018602052604090205490565b3480156200065357600080fd5b50600c54620004c8565b3480156200066a57600080fd5b5062000674600a81565b60405160ff909116815260200162000432565b3480156200069457600080fd5b5062000409620006a636600462004d42565b6200121c565b348015620006b957600080fd5b50620004c8620006cb3660046200488d565b6001600160a01b031660009081526012602052604090206001015490565b348015620006f657600080fd5b506200071d6200070836600462004d28565b60136020526000908152604090205460ff1681565b604051901515815260200162000432565b3480156200073b57600080fd5b50620004096200074d36600462004d28565b62001501565b3480156200076057600080fd5b50620007786200077236600462004d28565b620017a1565b604051620004329695949392919062004deb565b3480156200079957600080fd5b5062000409620007ab36600462004e4b565b62001905565b348015620007be57600080fd5b50620004c8600c5481565b348015620007d657600080fd5b50620004c860085481565b348015620007ee57600080fd5b50620004c860045481565b3480156200080657600080fd5b506200081e6200081836600462004d28565b62001b72565b60405162000432919062004fcf565b3480156200083a57600080fd5b50601c54620004c8565b3480156200085157600080fd5b506011546001600160a01b0316620005e5565b3480156200087157600080fd5b50620004c8600e5481565b3480156200088957600080fd5b50601154620005e5906001600160a01b031681565b348015620008ab57600080fd5b50620004c860055481565b348015620008c357600080fd5b50601054620004c8565b348015620008da57600080fd5b50620008f2620008ec366004620050dc565b62001f25565b6040516200043291906200516d565b3480156200090e57600080fd5b50600754620004c8565b3480156200092557600080fd5b50620004096200093736600462004d28565b62002396565b3480156200094a57600080fd5b50620004c86200095c36600462004d28565b60186020526000908152604090205481565b3480156200097b57600080fd5b50600954620004c8565b3480156200099257600080fd5b506200071d620009a436600462004d28565b60009081526013602052604090205460ff1690565b348015620009c657600080fd5b5062000409620009d8366004620051a9565b6200254b565b348015620009eb57600080fd5b50600854620004c8565b34801562000a0257600080fd5b506200040962000a14366004620052bf565b620028ee565b34801562000a2757600080fd5b50600b54620004c8565b34801562000a3e57600080fd5b50620004c862000a50366004620053ef565b620029ef565b34801562000a6357600080fd5b506001546001600160a01b0316620005e5565b34801562000a8357600080fd5b50620004c8600a5481565b34801562000a9b57600080fd5b50620004c8600f5481565b34801562000ab357600080fd5b506200071d62000ac53660046200542b565b62002a46565b34801562000ad857600080fd5b50600f54620004c8565b34801562000aef57600080fd5b5062000b0762000b0136600462005474565b62002a5d565b604051620004329190620054de565b34801562000b2357600080fd5b50620004c862002bc2565b34801562000b3b57600080fd5b50620004c862000b4d36600462004d28565b62002bdc565b34801562000b6057600080fd5b506200040962000b7236600462004d28565b62002bfe565b34801562000b8557600080fd5b50600454620004c8565b34801562000b9c57600080fd5b50620004c862000bae36600462004d28565b620034f6565b34801562000bc157600080fd5b50620004c862000bd33660046200488d565b62003511565b34801562000be657600080fd5b50600d54620004c8565b34801562000bfd57600080fd5b50600354620004c8565b34801562000c1457600080fd5b50620004c860095481565b34801562000c2c57600080fd5b50620004c860105481565b34801562000c4457600080fd5b50620004c862000c5636600462004d28565b6200352c565b34801562000c6957600080fd5b506200047362000c7b36600462004979565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000cac57600080fd5b50600e54620004c8565b34801562000cc357600080fd5b50620004c860065481565b34801562000cdb57600080fd5b50620004c862000ced366004620054f3565b6200355b565b34801562000d0057600080fd5b50600054620005e5906001600160a01b031681565b34801562000d2257600080fd5b50620004c860075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000d7d57602002820191906000526020600020905b81548152602001906001019080831162000d68575b5050505050905090565b6002805462000d969062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc49062005520565b801562000e155780601f1062000de95761010080835404028352916020019162000e15565b820191906000526020600020905b81548152906001019060200180831162000df757829003601f168201915b505050505081565b600062000e4561271062000e3e60065462000e37600e5490565b90620035ae565b90620035c3565b905090565b33301462000ed05760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000ef35760405162461bcd60e51b815260040162000ec7906200555d565b8983101562000f165760405162461bcd60e51b815260040162000ec790620055ac565b6000881162000f395760405162461bcd60e51b815260040162000ec79062005609565b6201c90886111562000fb45760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000ec7565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b60008062001028888888888888620035d1565b601c549091506200103b90600162003bb7565b601c819055600082815260186020526040902055979650505050505050565b60008381526015602052604090206002015442106200108d5760405162461bcd60e51b815260040162000ec79062005666565b6000838152601860205260409020548190620010ab9033906200355b565b1015620010cc5760405162461bcd60e51b815260040162000ec790620056b9565b60008381526014602090815260408083203384529091529020541580156200110e57506000838152601460209081526040808320338452909152902060010154155b80620011595750600083815260146020908152604080832033845290915290205482148015620011595750600083815260146020908152604080832033845290915290206001015481115b620011785760405162461bcd60e51b815260040162000ec79062005707565b620011863384848462003bc5565b505050565b6060600280546200119c9062005520565b80601f0160208091040260200160405190810160405280929190818152602001828054620011ca9062005520565b801562000d7d5780601f10620011ef5761010080835404028352916020019162000d7d565b820191906000526020600020905b815481529060010190602001808311620011fd57509395945050505050565b60008581526015602052604090206002015442106200124f5760405162461bcd60e51b815260040162000ec79062005666565b60006200125f83878787620029ef565b60008181526013602052604090205490915060ff1615620012cd5760405162461bcd60e51b815260206004820152602160248201527f536e617073686f7445524332304775696c643a20416c726561647920766f74656044820152601960fa1b606482015260840162000ec7565b62001331826200132a836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003e26565b6001600160a01b0316836001600160a01b031614620013935760405162461bcd60e51b815260206004820181905260248201527f536e617073686f7445524332304775696c643a2057726f6e67207369676e6572604482015260640162000ec7565b6000818152601360209081526040808320805460ff1916600117905588835260189091529020548490620013c99085906200355b565b10158015620013fc575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6200141b5760405162461bcd60e51b815260040162000ec790620056b9565b60008681526014602090815260408083206001600160a01b03871684529091529020541580156200146f575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b80620014cc575060008681526014602090815260408083206001600160a01b038716845290915290205485148015620014cc575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620014eb5760405162461bcd60e51b815260040162000ec79062005707565b620014f98387878762003bc5565b505050505050565b806200150d3362003511565b1015620015835760405162461bcd60e51b815260206004820152603e60248201527f536e617073686f7445524332304775696c643a20556e61626c6520746f20776960448201527f746864726177206d6f726520746f6b656e73207468616e206c6f636b65640000606482015260840162000ec7565b336000908152601260205260409020600101544211620015f65760405162461bcd60e51b815260206004820152602760248201527f536e617073686f7445524332304775696c643a20546f6b656e73207374696c6c604482015266081b1bd8dad95960ca1b606482015260840162000ec7565b600081116200167e5760405162461bcd60e51b815260206004820152604760248201527f536e617073686f7445524332304775696c643a20616d6f756e74206f6620746f60448201527f6b656e7320746f207769746864726177206d75737420626520677265617465726064820152660207468616e20360cc1b608482015260a40162000ec7565b620016893362003e46565b6200169362003e77565b33600090815260126020526040902054620016af908262003e88565b33600090815260126020526040902055600e54620016ce908262003e88565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b1580156200171e57600080fd5b505af115801562001733573d6000803e3d6000fd5b5050336000908152601260205260409020541515915062001764905057600b546200176090600162003e88565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b03909416949293919291620017dd9062005520565b80601f01602080910402602001604051908101604052809291908181526020018280546200180b9062005520565b80156200185c5780601f1062001830576101008083540402835291602001916200185c565b820191906000526020600020905b8154815290600101906020018083116200183e57829003601f168201915b505050505090806007018054620018739062005520565b80601f0160208091040260200160405190810160405280929190818152602001828054620018a19062005520565b8015620018f25780601f10620018c657610100808354040283529160200191620018f2565b820191906000526020600020905b815481529060010190602001808311620018d457829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff1680620019255750601754610100900460ff16155b6200198a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000ec7565b60175462010000900460ff16158015620019b0576017805462ffff001916620101001790555b6001600160a01b038c1662001a175760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000ec7565b60008b1162001a3a5760405162461bcd60e51b815260040162000ec7906200555d565b8a83101562001a5d5760405162461bcd60e51b815260040162000ec790620055ac565b6000891162001a805760405162461bcd60e51b815260040162000ec79062005609565b865162001a959060029060208a0190620045b6565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001ac49062004645565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001af8573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001b64576017805462ff0000191690555b505050505050505050505050565b62001b7c62004653565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001c1157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001bf2575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101562001cf557838290600052602060002001805462001c619062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462001c8f9062005520565b801562001ce05780601f1062001cb45761010080835404028352916020019162001ce0565b820191906000526020600020905b81548152906001019060200180831162001cc257829003601f168201915b50505050508152602001906001019062001c3f565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001d4e57602002820191906000526020600020905b81548152602001906001019080831162001d39575b5050505050815260200160068201805462001d699062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462001d979062005520565b801562001de85780601f1062001dbc5761010080835404028352916020019162001de8565b820191906000526020600020905b81548152906001019060200180831162001dca57829003601f168201915b5050505050815260200160078201805462001e039062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462001e319062005520565b801562001e825780601f1062001e565761010080835404028352916020019162001e82565b820191906000526020600020905b81548152906001019060200180831162001e6457829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001eac5762001eac62004db2565b600481111562001ec05762001ec062004db2565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001f1557602002820191906000526020600020905b81548152602001906001019080831162001f00575b5050505050815250509050919050565b60608251845114801562001f3a575081518351145b62001fae5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000ec7565b60008085516001600160401b0381111562001fcd5762001fcd620049a8565b60405190808252806020026020018201604052801562001ff7578160200160208202803683370190505b509050600091505b85518210156200238d57426015600088858151811062002023576200202362005776565b60200260200101518152602001908152602001600020600201541015620020715760008183815181106200205b576200205b62005776565b9115156020928302919091019091015262002378565b83828151811062002086576200208662005776565b6020026020010151620020993362003511565b108062002116575060146000878481518110620020ba57620020ba62005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101548483815181106200210c576200210c62005776565b6020026020010151105b15620021335760008183815181106200205b576200205b62005776565b601460008784815181106200214c576200214c62005776565b602090810291909101810151825281810192909252604090810160009081203382529092529020541580620021d657506014600087848151811062002195576200219562005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b8015620022d05750848281518110620021f357620021f362005776565b60200260200101516014600088858151811062002214576200221462005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206000015414158015620022d0575083828151811062002270576200227062005776565b60200260200101516014600088858151811062002291576200229162005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b15620022ed5760008183815181106200205b576200205b62005776565b600181838151811062002304576200230462005776565b602002602001019015159081151581525050620023783387848151811062002330576200233062005776565b60200260200101518785815181106200234d576200234d62005776565b60200260200101518786815181106200236a576200236a62005776565b602002602001015162003bc5565b816200238481620057a2565b92505062001fff565b95945050505050565b600081116200240e5760405162461bcd60e51b815260206004820152603a60248201527f536e617073686f7445524332304775696c643a20546f6b656e7320746f206c6f60448201527f636b2073686f756c6420626520686967686572207468616e2030000000000000606482015260840162000ec7565b336000908152601260205260409020546200243757600b546200243390600162003bb7565b600b555b620024423362003e46565b6200244c62003e77565b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b1580156200249957600080fd5b505af1158015620024ae573d6000803e3d6000fd5b505033600090815260126020526040902054620024cf925090508262003bb7565b33600090815260126020526040902055600d54620024ef90429062003bb7565b33600090815260126020526040902060010155600e5462002511908262003bb7565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001796565b60006200255b87858585620029ef565b9050858114620025ae5760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000ec7565b60008181526013602052604090205460ff16156200260f5760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000ec7565b60006200261e89888862002a46565b9050806200267b5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000ec7565b6000858152601560205260409020600201544210620026f15760405162461bcd60e51b815260206004820152602b60248201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60448201526a1bdd081899481d9bdd195960aa1b606482015260840162000ec7565b82620026fd8962003511565b1015801562002730575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b6200278d5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604482015265185b5bdd5b9d60d21b606482015260840162000ec7565b60008581526014602090815260408083206001600160a01b038c168452909152902054158015620027e1575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b806200283e575060008581526014602090815260408083206001600160a01b038c168452909152902054841480156200283e575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b620028bc5760405162461bcd60e51b815260206004820152604160248201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60448201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656064820152603960f91b608482015260a40162000ec7565b6000828152601360205260409020805460ff19166001179055620028e38886868662003bc5565b505050505050505050565b60005b8751811015620029e557620029d088828151811062002914576200291462005776565b602002602001015188838151811062002931576200293162005776565b60200260200101518884815181106200294e576200294e62005776565b60200260200101518885815181106200296b576200296b62005776565b602002602001015188868151811062002988576200298862005776565b6020026020010151888781518110620029a557620029a562005776565b6020026020010151888881518110620029c257620029c262005776565b60200260200101516200254b565b80620029dc81620057a2565b915050620028f1565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062002a5582858562003e96565b949350505050565b6060815183511462002ae75760405162461bcd60e51b815260206004820152604660248201527f536e617073686f7445524332304775696c643a20536e617073686f744964732060448201527f616e64206163636f756e7473206d7573742068617665207468652073616d65206064820152650d8cadccee8d60d31b608482015260a40162000ec7565b600083516001600160401b0381111562002b055762002b05620049a8565b60405190808252806020026020018201604052801562002b2f578160200160208202803683370190505b50905060005b845181101562002bb85762002b8385828151811062002b585762002b5862005776565b602002602001015185838151811062002b755762002b7562005776565b60200260200101516200355b565b82828151811062002b985762002b9862005776565b60209081029190910101528062002baf81620057a2565b91505062002b35565b5090505b92915050565b600062000e4561271062000e3e60055462000e37600e5490565b6016818154811062002bed57600080fd5b600091825260209091200154905081565b60175460ff161562002c685760405162461bcd60e51b815260206004820152602c60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20756e6460448201526b32b91032bc32b1baba34b7b760a11b606482015260840162000ec7565b600160008281526015602052604090206008015460ff16600481111562002c935762002c9362004db2565b1462002cf85760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20616c7260448201526c1958591e48195e1958dd5d1959609a1b606482015260840162000ec7565b600081815260156020526040902060020154421162002d705760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c2068617360448201526c1b89dd08195b991959081e595d609a1b606482015260840162000ec7565b6000805b60008381526015602052604090206009015481101562002e6a5760008381526018602052604090205462002da890620034f6565b600084815260156020526040902060090180548390811062002dce5762002dce62005776565b90600052602060002001541015801562002e4b5750600083815260156020526040902060090180548390811062002e095762002e0962005776565b906000526020600020015460156000858152602001908152602001600020600901828154811062002e3e5762002e3e62005776565b9060005260206000200154115b1562002e55578091505b8062002e6181620057a2565b91505062002d74565b8162002eba576000838152601560205260409020600801805460ff19166002908117909155839060008051602062006171833981519152905b60405190815260200160405180910390a2620034de565b600454600084815260156020526040902060020154429162002edd919062003bb7565b101562002f1c576000838152601560205260409020600801805460ff191660049081179091558390600080516020620061718339815191529062002ea3565b600083815260156020526040812060088101805460ff191660031790556009015462002f689062002f4f90600162003e88565b60008681526015602052604090206003015490620035c3565b905062002f8362002f7b84600162003e88565b8290620035ae565b9150600062002f93838362003bb7565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002fe657600080fd5b505af115801562002ffb573d6000803e3d6000fd5b505050505b80831015620034355760008581526015602052604081206003018054859081106200302f576200302f62005776565b6000918252602090912001546001600160a01b0316148015906200308f5750600085815260156020526040812060040180548590811062003074576200307462005776565b9060005260206000200180546200308b9062005520565b9050115b1562003420576000858152601560205260408120600401805485908110620030bb57620030bb62005776565b906000526020600020018054620030d29062005520565b80601f0160208091040260200160405190810160405280929190818152602001828054620031009062005520565b8015620031515780601f10620031255761010080835404028352916020019162003151565b820191906000526020600020905b8154815290600101906020018083116200313357829003601f168201915b50505060208084015160015460008c815260159093526040909220600301805495965090946001600160a01b03909216935063eed4703392503091899081106200319f576200319f62005776565b9060005260206000200160009054906101000a90046001600160a01b031684601560008d81526020019081526020016000206005018a81548110620031e857620031e862005776565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200324d57600080fd5b505af19250505080156200325f575060015b620032bb576200326e620057c0565b806308c379a01415620032af575062003286620057dd565b80620032935750620032b1565b8060405162461bcd60e51b815260040162000ec79190620048fb565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000878152601560205260408120600301805487908110620032ee57620032ee62005776565b60009182526020808320909101548a83526015909152604090912060050180546001600160a01b0390921691889081106200332d576200332d62005776565b9060005260206000200154601560008b8152602001908152602001600020600401888154811062003362576200336262005776565b906000526020600020016040516200337b91906200586c565b60006040518083038185875af1925050503d8060008114620033ba576040519150601f19603f3d011682016040523d82523d6000602084013e620033bf565b606091505b5050905080620034125760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000ec7565b50506017805460ff19169055505b826200342c81620057a2565b93505062003000565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156200347b57600080fd5b505af115801562003490573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620034b6919062005910565b508460008051602062006171833981519152600360405190815260200160405180910390a250505b600c54620034ee90600162003e88565b600c55505050565b600062002bbc61271062000e3e60055462000e37866200352c565b6001600160a01b031660009081526012602052604090205490565b60008060006200353e84601a62003eae565b91509150811562003550579392505050565b5050600e5492915050565b6001600160a01b0382166000908152601960205260408120819081906200358490859062003eae565b9150915081156200359957915062002bbc9050565b620035a48562003511565b9250505062002bbc565b6000620035bc828462005934565b9392505050565b6000620035bc82846200596c565b6000601054600e5410156200364f5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000ec7565b600f54600b541015620036c15760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000ec7565b600954600c5410620037355760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000ec7565b6200373f62000e1d565b6200374a3362003511565b1015620037b85760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000ec7565b85518751148015620037cb575084518751145b620038365760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000ec7565b6000875111620038a35760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000ec7565b86518411158015620038c057508451620038be908562003fbb565b155b620039345760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000ec7565b600a841115620039ad5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000ec7565b600a546040516bffffffffffffffffffffffff193360601b166020820152426034820152605481019190915260009060740160405160208183030381529060405280519060200120905062003a0f6001600a5462003bb790919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b03191633178155426001820181905560035462003a47919062003bb7565b6002820155885162003a6390600383019060208c0190620046c3565b50875162003a7b90600483019060208b01906200471b565b50865162003a9390600583019060208a01906200477b565b50845162003aab9060068301906020880190620045b6565b50835162003ac39060078301906020870190620045b6565b5062003ad186600162003bb7565b6001600160401b0381111562003aeb5762003aeb620049a8565b60405190808252806020026020018201604052801562003b15578160200160208202803683370190505b50805162003b2e9160098401916020909101906200477b565b5060088101805460ff19166001908117909155600c5462003b4f9162003bb7565b600c558160008051602062006171833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000620035bc828462005983565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462003c3b92849262003c34928790811062003c1a5762003c1a62005776565b906000526020600020015462003e8890919063ffffffff16565b9062003bb7565b600084815260156020526040902060090180548490811062003c615762003c6162005776565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003cc8856001600160a01b031660009081526012602052604090206001015490565b101562003cfd576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003e2057600062003d7362003d696008543a62003fc990919063ffffffff16565b60075490620035ae565b905080471015801562003d855750333b155b1562003e1e57604051600090339083908381818185875af1925050503d806000811462003dcf576040519150601f19603f3d011682016040523d82523d6000602084013e62003dd4565b606091505b5050905080620014f95760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000ec7565b505b50505050565b600080600062003e37858562003fe1565b9150915062002bb88162004057565b6001600160a01b038116600090815260196020526040902062003e749062003e6e8362003511565b6200422a565b50565b62003e86601a600e546200422a565b565b6000620035bc82846200599e565b60008262003ea585846200426e565b14949350505050565b6000806000841162003f035760405162461bcd60e51b815260206004820152601b60248201527f536e617073686f7445524332304775696c643a20696420697320300000000000604482015260640162000ec7565b601c5484111562003f625760405162461bcd60e51b815260206004820152602260248201527f536e617073686f7445524332304775696c643a206e6f6e6578697374656e74206044820152611a5960f21b606482015260840162000ec7565b600062003f7084866200431b565b845490915081141562003f8b5760008092509250506200100e565b600184600101828154811062003fa55762003fa562005776565b906000526020600020015492509250506200100e565b6000620035bc8284620059b8565b600081831062003fda5781620035bc565b5090919050565b6000808251604114156200401c5760208301516040840151606085015160001a6200400f87828585620043db565b945094505050506200100e565b8251604014156200404a57602083015160408401516200403e868383620044d0565b9350935050506200100e565b506000905060026200100e565b60008160048111156200406e576200406e62004db2565b1415620040785750565b60018160048111156200408f576200408f62004db2565b1415620040df5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000ec7565b6002816004811115620040f657620040f662004db2565b1415620041465760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000ec7565b60038160048111156200415d576200415d62004db2565b1415620041b85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000ec7565b6004816004811115620041cf57620041cf62004db2565b141562003e745760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000ec7565b601c5480620042398462004501565b101562001186578254600180820185556000858152602080822090930193909355938401805494850181558252902090910155565b600081815b845181101562002bb857600085828151811062004294576200429462005776565b60200260200101519050808311620042d857604080516020810185905290810182905260600160405160208183030381529060405280519060200120925062004305565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806200431281620057a2565b91505062004273565b815460009081905b80821015620043845760006200433a83836200454f565b90508486828154811062004352576200435262005776565b906000526020600020015411156200436d578091506200437d565b6200437a81600162005983565b92505b5062004323565b600082118015620043bf575083856200439f6001856200599e565b81548110620043b257620043b262005776565b9060005260206000200154145b15620043d257620035a46001836200599e565b50905062002bbc565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620044145750600090506003620044c7565b8460ff16601b141580156200442d57508460ff16601c14155b15620044405750600090506004620044c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562004495573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116620044c057600060019250925050620044c7565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620044f387828885620043db565b935093505050935093915050565b80546000906200451357506000919050565b8154829062004525906001906200599e565b8154811062004538576200453862005776565b90600052602060002001549050919050565b919050565b600060026200455f8184620059b8565b6200456c600286620059b8565b62004578919062005983565b6200458491906200596c565b620045916002846200596c565b6200459e6002866200596c565b620045aa919062005983565b620035bc919062005983565b828054620045c49062005520565b90600052602060002090601f016020900481019282620045e8576000855562004633565b82601f106200460357805160ff191683800117855562004633565b8280016001018555821562004633579182015b828111156200463357825182559160200191906001019062004616565b5062004641929150620047b8565b5090565b6107a180620059d083390190565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115620046b657620046b662004db2565b8152602001606081525090565b82805482825590600052602060002090810192821562004633579160200282015b828111156200463357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620046e4565b8280548282559060005260206000209081019282156200476d579160200282015b828111156200476d57825180516200475c918491602090910190620045b6565b50916020019190600101906200473c565b5062004641929150620047cf565b8280548282559060005260206000209081019282156200463357916020028201828111156200463357825182559160200191906001019062004616565b5b80821115620046415760008155600101620047b9565b8082111562004641576000620047e68282620047f0565b50600101620047cf565b508054620047fe9062005520565b6000825580601f106200480f575050565b601f01602090049060005260206000209081019062003e749190620047b8565b6020808252825182820181905260009190848201906040850190845b8181101562004869578351835292840192918401916001016200484b565b50909695505050505050565b80356001600160a01b03811681146200454a57600080fd5b600060208284031215620048a057600080fd5b620035bc8262004875565b6000815180845260005b81811015620048d357602081850181015186830182015201620048b5565b81811115620048e6576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620035bc6020830184620048ab565b6000806000806000806000806000806101408b8d0312156200493157600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200498d57600080fd5b823591506200499f6020840162004875565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715620049e657620049e6620049a8565b6040525050565b60006001600160401b0382111562004a095762004a09620049a8565b5060051b60200190565b600082601f83011262004a2557600080fd5b8135602062004a3482620049ed565b60405162004a438282620049be565b83815260059390931b850182019282810191508684111562004a6457600080fd5b8286015b8481101562004a8a5762004a7c8162004875565b835291830191830162004a68565b509695505050505050565b600082601f83011262004aa757600080fd5b81356001600160401b0381111562004ac35762004ac3620049a8565b60405162004adc601f8301601f191660200182620049be565b81815284602083860101111562004af257600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011262004b2157600080fd5b8135602062004b3082620049ed565b60405162004b3f8282620049be565b83815260059390931b850182019282810191508684111562004b6057600080fd5b8286015b8481101562004a8a5780356001600160401b0381111562004b855760008081fd5b62004b958986838b010162004a95565b84525091830191830162004b64565b600082601f83011262004bb657600080fd5b8135602062004bc582620049ed565b60405162004bd48282620049be565b83815260059390931b850182019282810191508684111562004bf557600080fd5b8286015b8481101562004a8a578035835291830191830162004bf9565b60008060008060008060c0878903121562004c2c57600080fd5b86356001600160401b038082111562004c4457600080fd5b62004c528a838b0162004a13565b9750602089013591508082111562004c6957600080fd5b62004c778a838b0162004b0f565b9650604089013591508082111562004c8e57600080fd5b62004c9c8a838b0162004ba4565b955060608901359450608089013591508082111562004cba57600080fd5b62004cc88a838b0162004a95565b935060a089013591508082111562004cdf57600080fd5b5062004cee89828a0162004a95565b9150509295509295509295565b60008060006060848603121562004d1157600080fd5b505081359360208301359350604090920135919050565b60006020828403121562004d3b57600080fd5b5035919050565b600080600080600060a0868803121562004d5b57600080fd5b85359450602086013593506040860135925062004d7b6060870162004875565b915060808601356001600160401b0381111562004d9757600080fd5b62004da58882890162004a95565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6005811062004de757634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062004e1a60c0830186620048ab565b828103608084015262004e2e8186620048ab565b91505062004e4060a083018462004dc8565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562004e6e57600080fd5b62004e798c62004875565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b0381111562004eb157600080fd5b62004ebf8e828f0162004a95565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062004eef6101408d0162004875565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b8381101562004f3c5781516001600160a01b03168752958201959082019060010162004f15565b509495945050505050565b6000815180845260208085019450848260051b860182860160005b8581101562004f9057838303895262004f7d838351620048ab565b9885019892509084019060010162004f62565b5090979650505050505050565b600081518084526020808501945080840160005b8381101562004f3c5781518752958201959082019060010162004fb1565b6020815262004fea6020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200501e61016085018362004f01565b91506080850151601f19808685030160a08701526200503e848362004f47565b935060a08701519150808685030160c08701526200505d848362004f9d565b935060c08701519150808685030160e08701526200507c8483620048ab565b935060e087015191506101008187860301818801526200509d8584620048ab565b945080880151925050610120620050b78188018462004dc8565b870151868503909101838701529050620050d2838262004f9d565b9695505050505050565b600080600060608486031215620050f257600080fd5b83356001600160401b03808211156200510a57600080fd5b620051188783880162004ba4565b945060208601359150808211156200512f57600080fd5b6200513d8783880162004ba4565b935060408601359150808211156200515457600080fd5b50620051638682870162004ba4565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200486957835115158352928401929184019160010162005189565b600080600080600080600060e0888a031215620051c557600080fd5b87359650620051d76020890162004875565b95506040880135945060608801356001600160401b03811115620051fa57600080fd5b620052088a828b0162004ba4565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f8301126200523c57600080fd5b813560206200524b82620049ed565b6040516200525a8282620049be565b83815260059390931b85018201928281019150868411156200527b57600080fd5b8286015b8481101562004a8a5780356001600160401b03811115620052a05760008081fd5b620052b08986838b010162004ba4565b8452509183019183016200527f565b600080600080600080600060e0888a031215620052db57600080fd5b87356001600160401b0380821115620052f357600080fd5b620053018b838c0162004ba4565b985060208a01359150808211156200531857600080fd5b620053268b838c0162004a13565b975060408a01359150808211156200533d57600080fd5b6200534b8b838c0162004ba4565b965060608a01359150808211156200536257600080fd5b620053708b838c016200522a565b955060808a01359150808211156200538757600080fd5b620053958b838c0162004ba4565b945060a08a0135915080821115620053ac57600080fd5b620053ba8b838c0162004ba4565b935060c08a0135915080821115620053d157600080fd5b50620053e08a828b0162004ba4565b91505092959891949750929550565b600080600080608085870312156200540657600080fd5b620054118562004875565b966020860135965060408601359560600135945092505050565b6000806000606084860312156200544157600080fd5b833592506020840135915060408401356001600160401b038111156200546657600080fd5b620051638682870162004ba4565b600080604083850312156200548857600080fd5b82356001600160401b0380821115620054a057600080fd5b620054ae8683870162004a13565b93506020850135915080821115620054c557600080fd5b50620054d48582860162004ba4565b9150509250929050565b602081526000620035bc602083018462004f9d565b600080604083850312156200550757600080fd5b620055128362004875565b946020939093013593505050565b600181811c908216806200553557607f821691505b602082108114156200555757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b60208082526033908201527f536e617073686f7445524332304775696c643a2050726f706f73616c20656e6460408201527219590b0818d85b9b9bdd081899481d9bdd1959606a1b606082015260800190565b6020808252602e908201527f536e617073686f7445524332304775696c643a20496e76616c696420766f746960408201526d1b99d41bddd95c88185b5bdd5b9d60921b606082015260800190565b60208082526049908201527f536e617073686f7445524332304775696c643a2043616e6e6f74206368616e6760408201527f65206f7074696f6e20766f7465642c206f6e6c7920696e63726561736520766f6060820152683a34b733a837bbb2b960b91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620057b957620057b96200578c565b5060010190565b600060033d1115620057da5760046000803e5060005160e01c5b90565b600060443d1015620057ec5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156200581c57505050505090565b8285019150815181811115620058355750505050505090565b843d8701016020828501011115620058505750505050505090565b6200586160208286010187620049be565b509095945050505050565b600080835481600182811c9150808316806200588957607f831692505b6020808410821415620058aa57634e487b7160e01b86526022600452602486fd5b818015620058c15760018114620058d35762005902565b60ff1986168952848901965062005902565b60008a81526020902060005b86811015620058fa5781548b820152908501908301620058df565b505084890196505b509498975050505050505050565b6000602082840312156200592357600080fd5b81518015158114620035bc57600080fd5b60008160001904831182151516156200595157620059516200578c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200597e576200597e62005956565b500490565b600082198211156200599957620059996200578c565b500190565b600082821015620059b357620059b36200578c565b500390565b600082620059ca57620059ca62005956565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220fca88be9c697c624935afd1ddebe4a6551c22303fd36b569295b87b712c240ac64736f6c63430008080033", + "deployedBytecode": "0x608060405260043610620004095760003560e01c8063671abed7116200021b578063ae6192341162000123578063e045035311620000b3578063f4732da61162000081578063f4732da61462000c9f578063f98606a71462000cb6578063f9a92d821462000cce578063fc0c546a1462000cf3578063fc4e703f1462000d1557005b8063e04503531462000c07578063e158080a1462000c1f578063ed996f5e1462000c37578063f09951981462000c5c57005b8063bba363a011620000f1578063bba363a01462000b8f578063bcc3f3bd1462000bb4578063c0a4d64d1462000bd9578063c93e01e31462000bf057005b8063ae6192341462000b16578063b3929aaa1462000b2e578063b3b470611462000b53578063b7c15f8d1462000b7857005b80638bb8591e11620001ab578063a78d80fc1162000179578063a78d80fc1462000a76578063a7aeb5571462000a8e578063ab6ea06b1462000aa6578063ad6c1e341462000acb578063adf2c7b61462000ae257005b80638bb8591e14620009f55780638f1803051462000a1a57806392b716541462000a31578063a16fe3421462000a5657005b806377027ff411620001e957806377027ff4146200096e5780638029eff1146200098557806386e2712514620009b957806389c98c0614620009de57005b8063671abed714620008cd5780636c8b72f614620009015780636e27d889146200091857806371893546146200093d57005b806325c069fc116200031f5780633de39c1111620002af57806354f2f7af116200027d57806354f2f7af14620008445780635689141214620008645780635bc789d9146200087c5780635e508c2c146200089e57806364fe6ed214620008b657005b80633de39c1114620007c95780633f10cf1514620007e1578063430694cf14620007f95780635439ad86146200082d57005b8063315a095d11620002ed578063315a095d146200072e57806332ed5b12146200075357806336f8f8d9146200078c5780633bf353fb14620007b157005b806325c069fc146200065d5780632d5b17de14620006875780632d757c3e14620006ac5780632fd99c0014620006e957005b806316bbecde116200039b57806321df0da7116200036957806321df0da714620005ca5780632229a0e214620005fe57806322bafdff14620006155780632467ef94146200064657005b806316bbecde146200055e57806317d7de7c1462000583578063184a0ae9146200059b5780631a5007dd14620005b357005b80630d66808711620003d95780630d66808714620004d7578063123f6d6714620004ef578063130485fe146200051457806313108d74146200053957005b80623a40d0146200040b57806301a598a6146200043b57806306fdde0314620004895780630a366a6314620004b0575b005b3480156200041857600080fd5b506200042362000d2d565b6040516200043291906200482f565b60405180910390f35b3480156200044857600080fd5b50620004736200045a3660046200488d565b6012602052600090815260409020805460019091015482565b6040805192835260208301919091520162000432565b3480156200049657600080fd5b50620004a162000d87565b604051620004329190620048fb565b348015620004bd57600080fd5b50620004c862000e1d565b60405190815260200162000432565b348015620004e457600080fd5b50620004c8600d5481565b348015620004fc57600080fd5b50620004096200050e36600462004910565b62000e4a565b3480156200052157600080fd5b50620004736200053336600462004979565b62000fe3565b3480156200054657600080fd5b50620004c86200055836600462004c12565b62001015565b3480156200056b57600080fd5b50620004096200057d36600462004cfb565b6200105a565b3480156200059057600080fd5b50620004a16200118b565b348015620005a857600080fd5b50620004c860035481565b348015620005c057600080fd5b50600a54620004c8565b348015620005d757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200162000432565b3480156200060b57600080fd5b50601654620004c8565b3480156200062257600080fd5b50620004c86200063436600462004d28565b60009081526018602052604090205490565b3480156200065357600080fd5b50600c54620004c8565b3480156200066a57600080fd5b5062000674600a81565b60405160ff909116815260200162000432565b3480156200069457600080fd5b5062000409620006a636600462004d42565b6200121c565b348015620006b957600080fd5b50620004c8620006cb3660046200488d565b6001600160a01b031660009081526012602052604090206001015490565b348015620006f657600080fd5b506200071d6200070836600462004d28565b60136020526000908152604090205460ff1681565b604051901515815260200162000432565b3480156200073b57600080fd5b50620004096200074d36600462004d28565b62001501565b3480156200076057600080fd5b50620007786200077236600462004d28565b620017a1565b604051620004329695949392919062004deb565b3480156200079957600080fd5b5062000409620007ab36600462004e4b565b62001905565b348015620007be57600080fd5b50620004c8600c5481565b348015620007d657600080fd5b50620004c860085481565b348015620007ee57600080fd5b50620004c860045481565b3480156200080657600080fd5b506200081e6200081836600462004d28565b62001b72565b60405162000432919062004fcf565b3480156200083a57600080fd5b50601c54620004c8565b3480156200085157600080fd5b506011546001600160a01b0316620005e5565b3480156200087157600080fd5b50620004c8600e5481565b3480156200088957600080fd5b50601154620005e5906001600160a01b031681565b348015620008ab57600080fd5b50620004c860055481565b348015620008c357600080fd5b50601054620004c8565b348015620008da57600080fd5b50620008f2620008ec366004620050dc565b62001f25565b6040516200043291906200516d565b3480156200090e57600080fd5b50600754620004c8565b3480156200092557600080fd5b50620004096200093736600462004d28565b62002396565b3480156200094a57600080fd5b50620004c86200095c36600462004d28565b60186020526000908152604090205481565b3480156200097b57600080fd5b50600954620004c8565b3480156200099257600080fd5b506200071d620009a436600462004d28565b60009081526013602052604090205460ff1690565b348015620009c657600080fd5b5062000409620009d8366004620051a9565b6200254b565b348015620009eb57600080fd5b50600854620004c8565b34801562000a0257600080fd5b506200040962000a14366004620052bf565b620028ee565b34801562000a2757600080fd5b50600b54620004c8565b34801562000a3e57600080fd5b50620004c862000a50366004620053ef565b620029ef565b34801562000a6357600080fd5b506001546001600160a01b0316620005e5565b34801562000a8357600080fd5b50620004c8600a5481565b34801562000a9b57600080fd5b50620004c8600f5481565b34801562000ab357600080fd5b506200071d62000ac53660046200542b565b62002a46565b34801562000ad857600080fd5b50600f54620004c8565b34801562000aef57600080fd5b5062000b0762000b0136600462005474565b62002a5d565b604051620004329190620054de565b34801562000b2357600080fd5b50620004c862002bc2565b34801562000b3b57600080fd5b50620004c862000b4d36600462004d28565b62002bdc565b34801562000b6057600080fd5b506200040962000b7236600462004d28565b62002bfe565b34801562000b8557600080fd5b50600454620004c8565b34801562000b9c57600080fd5b50620004c862000bae36600462004d28565b620034f6565b34801562000bc157600080fd5b50620004c862000bd33660046200488d565b62003511565b34801562000be657600080fd5b50600d54620004c8565b34801562000bfd57600080fd5b50600354620004c8565b34801562000c1457600080fd5b50620004c860095481565b34801562000c2c57600080fd5b50620004c860105481565b34801562000c4457600080fd5b50620004c862000c5636600462004d28565b6200352c565b34801562000c6957600080fd5b506200047362000c7b36600462004979565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000cac57600080fd5b50600e54620004c8565b34801562000cc357600080fd5b50620004c860065481565b34801562000cdb57600080fd5b50620004c862000ced366004620054f3565b6200355b565b34801562000d0057600080fd5b50600054620005e5906001600160a01b031681565b34801562000d2257600080fd5b50620004c860075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000d7d57602002820191906000526020600020905b81548152602001906001019080831162000d68575b5050505050905090565b6002805462000d969062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc49062005520565b801562000e155780601f1062000de95761010080835404028352916020019162000e15565b820191906000526020600020905b81548152906001019060200180831162000df757829003601f168201915b505050505081565b600062000e4561271062000e3e60065462000e37600e5490565b90620035ae565b90620035c3565b905090565b33301462000ed05760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000ef35760405162461bcd60e51b815260040162000ec7906200555d565b8983101562000f165760405162461bcd60e51b815260040162000ec790620055ac565b6000881162000f395760405162461bcd60e51b815260040162000ec79062005609565b6201c90886111562000fb45760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000ec7565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b60008062001028888888888888620035d1565b601c549091506200103b90600162003bb7565b601c819055600082815260186020526040902055979650505050505050565b60008381526015602052604090206002015442106200108d5760405162461bcd60e51b815260040162000ec79062005666565b6000838152601860205260409020548190620010ab9033906200355b565b1015620010cc5760405162461bcd60e51b815260040162000ec790620056b9565b60008381526014602090815260408083203384529091529020541580156200110e57506000838152601460209081526040808320338452909152902060010154155b80620011595750600083815260146020908152604080832033845290915290205482148015620011595750600083815260146020908152604080832033845290915290206001015481115b620011785760405162461bcd60e51b815260040162000ec79062005707565b620011863384848462003bc5565b505050565b6060600280546200119c9062005520565b80601f0160208091040260200160405190810160405280929190818152602001828054620011ca9062005520565b801562000d7d5780601f10620011ef5761010080835404028352916020019162000d7d565b820191906000526020600020905b815481529060010190602001808311620011fd57509395945050505050565b60008581526015602052604090206002015442106200124f5760405162461bcd60e51b815260040162000ec79062005666565b60006200125f83878787620029ef565b60008181526013602052604090205490915060ff1615620012cd5760405162461bcd60e51b815260206004820152602160248201527f536e617073686f7445524332304775696c643a20416c726561647920766f74656044820152601960fa1b606482015260840162000ec7565b62001331826200132a836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003e26565b6001600160a01b0316836001600160a01b031614620013935760405162461bcd60e51b815260206004820181905260248201527f536e617073686f7445524332304775696c643a2057726f6e67207369676e6572604482015260640162000ec7565b6000818152601360209081526040808320805460ff1916600117905588835260189091529020548490620013c99085906200355b565b10158015620013fc575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b6200141b5760405162461bcd60e51b815260040162000ec790620056b9565b60008681526014602090815260408083206001600160a01b03871684529091529020541580156200146f575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b80620014cc575060008681526014602090815260408083206001600160a01b038716845290915290205485148015620014cc575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620014eb5760405162461bcd60e51b815260040162000ec79062005707565b620014f98387878762003bc5565b505050505050565b806200150d3362003511565b1015620015835760405162461bcd60e51b815260206004820152603e60248201527f536e617073686f7445524332304775696c643a20556e61626c6520746f20776960448201527f746864726177206d6f726520746f6b656e73207468616e206c6f636b65640000606482015260840162000ec7565b336000908152601260205260409020600101544211620015f65760405162461bcd60e51b815260206004820152602760248201527f536e617073686f7445524332304775696c643a20546f6b656e73207374696c6c604482015266081b1bd8dad95960ca1b606482015260840162000ec7565b600081116200167e5760405162461bcd60e51b815260206004820152604760248201527f536e617073686f7445524332304775696c643a20616d6f756e74206f6620746f60448201527f6b656e7320746f207769746864726177206d75737420626520677265617465726064820152660207468616e20360cc1b608482015260a40162000ec7565b620016893362003e46565b6200169362003e77565b33600090815260126020526040902054620016af908262003e88565b33600090815260126020526040902055600e54620016ce908262003e88565b600e5560115460405163f3fef3a360e01b8152336004820152602481018390526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b1580156200171e57600080fd5b505af115801562001733573d6000803e3d6000fd5b5050336000908152601260205260409020541515915062001764905057600b546200176090600162003e88565b600b555b60408051338152602081018390527f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b91015b60405180910390a150565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b03909416949293919291620017dd9062005520565b80601f01602080910402602001604051908101604052809291908181526020018280546200180b9062005520565b80156200185c5780601f1062001830576101008083540402835291602001916200185c565b820191906000526020600020905b8154815290600101906020018083116200183e57829003601f168201915b505050505090806007018054620018739062005520565b80601f0160208091040260200160405190810160405280929190818152602001828054620018a19062005520565b8015620018f25780601f10620018c657610100808354040283529160200191620018f2565b820191906000526020600020905b815481529060010190602001808311620018d457829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff1680620019255750601754610100900460ff16155b6200198a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000ec7565b60175462010000900460ff16158015620019b0576017805462ffff001916620101001790555b6001600160a01b038c1662001a175760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000ec7565b60008b1162001a3a5760405162461bcd60e51b815260040162000ec7906200555d565b8a83101562001a5d5760405162461bcd60e51b815260040162000ec790620055ac565b6000891162001a805760405162461bcd60e51b815260040162000ec79062005609565b865162001a959060029060208a0190620045b6565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062001ac49062004645565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562001af8573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001b64576017805462ff0000191690555b505050505050505050505050565b62001b7c62004653565b60008281526015602090815260409182902082516101408101845281546001600160a01b03168152600182015481840152600282015481850152600382018054855181860281018601909652808652919492936060860193929083018282801562001c1157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001bf2575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101562001cf557838290600052602060002001805462001c619062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462001c8f9062005520565b801562001ce05780601f1062001cb45761010080835404028352916020019162001ce0565b820191906000526020600020905b81548152906001019060200180831162001cc257829003601f168201915b50505050508152602001906001019062001c3f565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001d4e57602002820191906000526020600020905b81548152602001906001019080831162001d39575b5050505050815260200160068201805462001d699062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462001d979062005520565b801562001de85780601f1062001dbc5761010080835404028352916020019162001de8565b820191906000526020600020905b81548152906001019060200180831162001dca57829003601f168201915b5050505050815260200160078201805462001e039062005520565b80601f016020809104026020016040519081016040528092919081815260200182805462001e319062005520565b801562001e825780601f1062001e565761010080835404028352916020019162001e82565b820191906000526020600020905b81548152906001019060200180831162001e6457829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001eac5762001eac62004db2565b600481111562001ec05762001ec062004db2565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001f1557602002820191906000526020600020905b81548152602001906001019080831162001f00575b5050505050815250509050919050565b60608251845114801562001f3a575081518351145b62001fae5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000ec7565b60008085516001600160401b0381111562001fcd5762001fcd620049a8565b60405190808252806020026020018201604052801562001ff7578160200160208202803683370190505b509050600091505b85518210156200238d57426015600088858151811062002023576200202362005776565b60200260200101518152602001908152602001600020600201541015620020715760008183815181106200205b576200205b62005776565b9115156020928302919091019091015262002378565b83828151811062002086576200208662005776565b6020026020010151620020993362003511565b108062002116575060146000878481518110620020ba57620020ba62005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101548483815181106200210c576200210c62005776565b6020026020010151105b15620021335760008183815181106200205b576200205b62005776565b601460008784815181106200214c576200214c62005776565b602090810291909101810151825281810192909252604090810160009081203382529092529020541580620021d657506014600087848151811062002195576200219562005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b8015620022d05750848281518110620021f357620021f362005776565b60200260200101516014600088858151811062002214576200221462005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206000015414158015620022d0575083828151811062002270576200227062005776565b60200260200101516014600088858151811062002291576200229162005776565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b15620022ed5760008183815181106200205b576200205b62005776565b600181838151811062002304576200230462005776565b602002602001019015159081151581525050620023783387848151811062002330576200233062005776565b60200260200101518785815181106200234d576200234d62005776565b60200260200101518786815181106200236a576200236a62005776565b602002602001015162003bc5565b816200238481620057a2565b92505062001fff565b95945050505050565b600081116200240e5760405162461bcd60e51b815260206004820152603a60248201527f536e617073686f7445524332304775696c643a20546f6b656e7320746f206c6f60448201527f636b2073686f756c6420626520686967686572207468616e2030000000000000606482015260840162000ec7565b336000908152601260205260409020546200243757600b546200243390600162003bb7565b600b555b620024423362003e46565b6200244c62003e77565b6011546040516311f9fbc960e21b8152336004820152602481018390526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b1580156200249957600080fd5b505af1158015620024ae573d6000803e3d6000fd5b505033600090815260126020526040902054620024cf925090508262003bb7565b33600090815260126020526040902055600d54620024ef90429062003bb7565b33600090815260126020526040902060010155600e5462002511908262003bb7565b600e5560408051338152602081018390527fac87f20a77d28ee8bbb58ec87ea8fa968b3393efae1a368fd50b767c2847391c910162001796565b60006200255b87858585620029ef565b9050858114620025ae5760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000ec7565b60008181526013602052604090205460ff16156200260f5760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000ec7565b60006200261e89888862002a46565b9050806200267b5760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000ec7565b6000858152601560205260409020600201544210620026f15760405162461bcd60e51b815260206004820152602b60248201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60448201526a1bdd081899481d9bdd195960aa1b606482015260840162000ec7565b82620026fd8962003511565b1015801562002730575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b6200278d5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604482015265185b5bdd5b9d60d21b606482015260840162000ec7565b60008581526014602090815260408083206001600160a01b038c168452909152902054158015620027e1575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b806200283e575060008581526014602090815260408083206001600160a01b038c168452909152902054841480156200283e575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b620028bc5760405162461bcd60e51b815260206004820152604160248201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60448201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656064820152603960f91b608482015260a40162000ec7565b6000828152601360205260409020805460ff19166001179055620028e38886868662003bc5565b505050505050505050565b60005b8751811015620029e557620029d088828151811062002914576200291462005776565b602002602001015188838151811062002931576200293162005776565b60200260200101518884815181106200294e576200294e62005776565b60200260200101518885815181106200296b576200296b62005776565b602002602001015188868151811062002988576200298862005776565b6020026020010151888781518110620029a557620029a562005776565b6020026020010151888881518110620029c257620029c262005776565b60200260200101516200254b565b80620029dc81620057a2565b915050620028f1565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b600062002a5582858562003e96565b949350505050565b6060815183511462002ae75760405162461bcd60e51b815260206004820152604660248201527f536e617073686f7445524332304775696c643a20536e617073686f744964732060448201527f616e64206163636f756e7473206d7573742068617665207468652073616d65206064820152650d8cadccee8d60d31b608482015260a40162000ec7565b600083516001600160401b0381111562002b055762002b05620049a8565b60405190808252806020026020018201604052801562002b2f578160200160208202803683370190505b50905060005b845181101562002bb85762002b8385828151811062002b585762002b5862005776565b602002602001015185838151811062002b755762002b7562005776565b60200260200101516200355b565b82828151811062002b985762002b9862005776565b60209081029190910101528062002baf81620057a2565b91505062002b35565b5090505b92915050565b600062000e4561271062000e3e60055462000e37600e5490565b6016818154811062002bed57600080fd5b600091825260209091200154905081565b60175460ff161562002c685760405162461bcd60e51b815260206004820152602c60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20756e6460448201526b32b91032bc32b1baba34b7b760a11b606482015260840162000ec7565b600160008281526015602052604090206008015460ff16600481111562002c935762002c9362004db2565b1462002cf85760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c20616c7260448201526c1958591e48195e1958dd5d1959609a1b606482015260840162000ec7565b600081815260156020526040902060020154421162002d705760405162461bcd60e51b815260206004820152602d60248201527f536e617073686f7445524332304775696c643a2050726f706f73616c2068617360448201526c1b89dd08195b991959081e595d609a1b606482015260840162000ec7565b6000805b60008381526015602052604090206009015481101562002e6a5760008381526018602052604090205462002da890620034f6565b600084815260156020526040902060090180548390811062002dce5762002dce62005776565b90600052602060002001541015801562002e4b5750600083815260156020526040902060090180548390811062002e095762002e0962005776565b906000526020600020015460156000858152602001908152602001600020600901828154811062002e3e5762002e3e62005776565b9060005260206000200154115b1562002e55578091505b8062002e6181620057a2565b91505062002d74565b8162002eba576000838152601560205260409020600801805460ff19166002908117909155839060008051602062006171833981519152905b60405190815260200160405180910390a2620034de565b600454600084815260156020526040902060020154429162002edd919062003bb7565b101562002f1c576000838152601560205260409020600801805460ff191660049081179091558390600080516020620061718339815191529062002ea3565b600083815260156020526040812060088101805460ff191660031790556009015462002f689062002f4f90600162003e88565b60008681526015602052604090206003015490620035c3565b905062002f8362002f7b84600162003e88565b8290620035ae565b9150600062002f93838362003bb7565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002fe657600080fd5b505af115801562002ffb573d6000803e3d6000fd5b505050505b80831015620034355760008581526015602052604081206003018054859081106200302f576200302f62005776565b6000918252602090912001546001600160a01b0316148015906200308f5750600085815260156020526040812060040180548590811062003074576200307462005776565b9060005260206000200180546200308b9062005520565b9050115b1562003420576000858152601560205260408120600401805485908110620030bb57620030bb62005776565b906000526020600020018054620030d29062005520565b80601f0160208091040260200160405190810160405280929190818152602001828054620031009062005520565b8015620031515780601f10620031255761010080835404028352916020019162003151565b820191906000526020600020905b8154815290600101906020018083116200313357829003601f168201915b50505060208084015160015460008c815260159093526040909220600301805495965090946001600160a01b03909216935063eed4703392503091899081106200319f576200319f62005776565b9060005260206000200160009054906101000a90046001600160a01b031684601560008d81526020019081526020016000206005018a81548110620031e857620031e862005776565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b1580156200324d57600080fd5b505af19250505080156200325f575060015b620032bb576200326e620057c0565b806308c379a01415620032af575062003286620057dd565b80620032935750620032b1565b8060405162461bcd60e51b815260040162000ec79190620048fb565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000878152601560205260408120600301805487908110620032ee57620032ee62005776565b60009182526020808320909101548a83526015909152604090912060050180546001600160a01b0390921691889081106200332d576200332d62005776565b9060005260206000200154601560008b8152602001908152602001600020600401888154811062003362576200336262005776565b906000526020600020016040516200337b91906200586c565b60006040518083038185875af1925050503d8060008114620033ba576040519150601f19603f3d011682016040523d82523d6000602084013e620033bf565b606091505b5050905080620034125760405162461bcd60e51b815260206004820181905260248201527f45524332304775696c643a2050726f706f73616c2063616c6c206661696c6564604482015260640162000ec7565b50506017805460ff19169055505b826200342c81620057a2565b93505062003000565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b1580156200347b57600080fd5b505af115801562003490573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620034b6919062005910565b508460008051602062006171833981519152600360405190815260200160405180910390a250505b600c54620034ee90600162003e88565b600c55505050565b600062002bbc61271062000e3e60055462000e37866200352c565b6001600160a01b031660009081526012602052604090205490565b60008060006200353e84601a62003eae565b91509150811562003550579392505050565b5050600e5492915050565b6001600160a01b0382166000908152601960205260408120819081906200358490859062003eae565b9150915081156200359957915062002bbc9050565b620035a48562003511565b9250505062002bbc565b6000620035bc828462005934565b9392505050565b6000620035bc82846200596c565b6000601054600e5410156200364f5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000ec7565b600f54600b541015620036c15760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000ec7565b600954600c5410620037355760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000ec7565b6200373f62000e1d565b6200374a3362003511565b1015620037b85760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000ec7565b85518751148015620037cb575084518751145b620038365760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000ec7565b6000875111620038a35760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000ec7565b86518411158015620038c057508451620038be908562003fbb565b155b620039345760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000ec7565b600a841115620039ad5760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000ec7565b600a546040516bffffffffffffffffffffffff193360601b166020820152426034820152605481019190915260009060740160405160208183030381529060405280519060200120905062003a0f6001600a5462003bb790919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b03191633178155426001820181905560035462003a47919062003bb7565b6002820155885162003a6390600383019060208c0190620046c3565b50875162003a7b90600483019060208b01906200471b565b50865162003a9390600583019060208a01906200477b565b50845162003aab9060068301906020880190620045b6565b50835162003ac39060078301906020870190620045b6565b5062003ad186600162003bb7565b6001600160401b0381111562003aeb5762003aeb620049a8565b60405190808252806020026020018201604052801562003b15578160200160208202803683370190505b50805162003b2e9160098401916020909101906200477b565b5060088101805460ff19166001908117909155600c5462003b4f9162003bb7565b600c558160008051602062006171833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b6000620035bc828462005983565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462003c3b92849262003c34928790811062003c1a5762003c1a62005776565b906000526020600020015462003e8890919063ffffffff16565b9062003bb7565b600084815260156020526040902060090180548490811062003c615762003c6162005776565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003cc8856001600160a01b031660009081526012602052604090206001015490565b101562003cfd576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003e2057600062003d7362003d696008543a62003fc990919063ffffffff16565b60075490620035ae565b905080471015801562003d855750333b155b1562003e1e57604051600090339083908381818185875af1925050503d806000811462003dcf576040519150601f19603f3d011682016040523d82523d6000602084013e62003dd4565b606091505b5050905080620014f95760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000ec7565b505b50505050565b600080600062003e37858562003fe1565b9150915062002bb88162004057565b6001600160a01b038116600090815260196020526040902062003e749062003e6e8362003511565b6200422a565b50565b62003e86601a600e546200422a565b565b6000620035bc82846200599e565b60008262003ea585846200426e565b14949350505050565b6000806000841162003f035760405162461bcd60e51b815260206004820152601b60248201527f536e617073686f7445524332304775696c643a20696420697320300000000000604482015260640162000ec7565b601c5484111562003f625760405162461bcd60e51b815260206004820152602260248201527f536e617073686f7445524332304775696c643a206e6f6e6578697374656e74206044820152611a5960f21b606482015260840162000ec7565b600062003f7084866200431b565b845490915081141562003f8b5760008092509250506200100e565b600184600101828154811062003fa55762003fa562005776565b906000526020600020015492509250506200100e565b6000620035bc8284620059b8565b600081831062003fda5781620035bc565b5090919050565b6000808251604114156200401c5760208301516040840151606085015160001a6200400f87828585620043db565b945094505050506200100e565b8251604014156200404a57602083015160408401516200403e868383620044d0565b9350935050506200100e565b506000905060026200100e565b60008160048111156200406e576200406e62004db2565b1415620040785750565b60018160048111156200408f576200408f62004db2565b1415620040df5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000ec7565b6002816004811115620040f657620040f662004db2565b1415620041465760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000ec7565b60038160048111156200415d576200415d62004db2565b1415620041b85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000ec7565b6004816004811115620041cf57620041cf62004db2565b141562003e745760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000ec7565b601c5480620042398462004501565b101562001186578254600180820185556000858152602080822090930193909355938401805494850181558252902090910155565b600081815b845181101562002bb857600085828151811062004294576200429462005776565b60200260200101519050808311620042d857604080516020810185905290810182905260600160405160208183030381529060405280519060200120925062004305565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806200431281620057a2565b91505062004273565b815460009081905b80821015620043845760006200433a83836200454f565b90508486828154811062004352576200435262005776565b906000526020600020015411156200436d578091506200437d565b6200437a81600162005983565b92505b5062004323565b600082118015620043bf575083856200439f6001856200599e565b81548110620043b257620043b262005776565b9060005260206000200154145b15620043d257620035a46001836200599e565b50905062002bbc565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620044145750600090506003620044c7565b8460ff16601b141580156200442d57508460ff16601c14155b15620044405750600090506004620044c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562004495573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116620044c057600060019250925050620044c7565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620044f387828885620043db565b935093505050935093915050565b80546000906200451357506000919050565b8154829062004525906001906200599e565b8154811062004538576200453862005776565b90600052602060002001549050919050565b919050565b600060026200455f8184620059b8565b6200456c600286620059b8565b62004578919062005983565b6200458491906200596c565b620045916002846200596c565b6200459e6002866200596c565b620045aa919062005983565b620035bc919062005983565b828054620045c49062005520565b90600052602060002090601f016020900481019282620045e8576000855562004633565b82601f106200460357805160ff191683800117855562004633565b8280016001018555821562004633579182015b828111156200463357825182559160200191906001019062004616565b5062004641929150620047b8565b5090565b6107a180620059d083390190565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115620046b657620046b662004db2565b8152602001606081525090565b82805482825590600052602060002090810192821562004633579160200282015b828111156200463357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620046e4565b8280548282559060005260206000209081019282156200476d579160200282015b828111156200476d57825180516200475c918491602090910190620045b6565b50916020019190600101906200473c565b5062004641929150620047cf565b8280548282559060005260206000209081019282156200463357916020028201828111156200463357825182559160200191906001019062004616565b5b80821115620046415760008155600101620047b9565b8082111562004641576000620047e68282620047f0565b50600101620047cf565b508054620047fe9062005520565b6000825580601f106200480f575050565b601f01602090049060005260206000209081019062003e749190620047b8565b6020808252825182820181905260009190848201906040850190845b8181101562004869578351835292840192918401916001016200484b565b50909695505050505050565b80356001600160a01b03811681146200454a57600080fd5b600060208284031215620048a057600080fd5b620035bc8262004875565b6000815180845260005b81811015620048d357602081850181015186830182015201620048b5565b81811115620048e6576000602083870101525b50601f01601f19169290920160200192915050565b602081526000620035bc6020830184620048ab565b6000806000806000806000806000806101408b8d0312156200493157600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200498d57600080fd5b823591506200499f6020840162004875565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715620049e657620049e6620049a8565b6040525050565b60006001600160401b0382111562004a095762004a09620049a8565b5060051b60200190565b600082601f83011262004a2557600080fd5b8135602062004a3482620049ed565b60405162004a438282620049be565b83815260059390931b850182019282810191508684111562004a6457600080fd5b8286015b8481101562004a8a5762004a7c8162004875565b835291830191830162004a68565b509695505050505050565b600082601f83011262004aa757600080fd5b81356001600160401b0381111562004ac35762004ac3620049a8565b60405162004adc601f8301601f191660200182620049be565b81815284602083860101111562004af257600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011262004b2157600080fd5b8135602062004b3082620049ed565b60405162004b3f8282620049be565b83815260059390931b850182019282810191508684111562004b6057600080fd5b8286015b8481101562004a8a5780356001600160401b0381111562004b855760008081fd5b62004b958986838b010162004a95565b84525091830191830162004b64565b600082601f83011262004bb657600080fd5b8135602062004bc582620049ed565b60405162004bd48282620049be565b83815260059390931b850182019282810191508684111562004bf557600080fd5b8286015b8481101562004a8a578035835291830191830162004bf9565b60008060008060008060c0878903121562004c2c57600080fd5b86356001600160401b038082111562004c4457600080fd5b62004c528a838b0162004a13565b9750602089013591508082111562004c6957600080fd5b62004c778a838b0162004b0f565b9650604089013591508082111562004c8e57600080fd5b62004c9c8a838b0162004ba4565b955060608901359450608089013591508082111562004cba57600080fd5b62004cc88a838b0162004a95565b935060a089013591508082111562004cdf57600080fd5b5062004cee89828a0162004a95565b9150509295509295509295565b60008060006060848603121562004d1157600080fd5b505081359360208301359350604090920135919050565b60006020828403121562004d3b57600080fd5b5035919050565b600080600080600060a0868803121562004d5b57600080fd5b85359450602086013593506040860135925062004d7b6060870162004875565b915060808601356001600160401b0381111562004d9757600080fd5b62004da58882890162004a95565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6005811062004de757634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062004e1a60c0830186620048ab565b828103608084015262004e2e8186620048ab565b91505062004e4060a083018462004dc8565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562004e6e57600080fd5b62004e798c62004875565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b0381111562004eb157600080fd5b62004ebf8e828f0162004a95565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062004eef6101408d0162004875565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b8381101562004f3c5781516001600160a01b03168752958201959082019060010162004f15565b509495945050505050565b6000815180845260208085019450848260051b860182860160005b8581101562004f9057838303895262004f7d838351620048ab565b9885019892509084019060010162004f62565b5090979650505050505050565b600081518084526020808501945080840160005b8381101562004f3c5781518752958201959082019060010162004fb1565b6020815262004fea6020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200501e61016085018362004f01565b91506080850151601f19808685030160a08701526200503e848362004f47565b935060a08701519150808685030160c08701526200505d848362004f9d565b935060c08701519150808685030160e08701526200507c8483620048ab565b935060e087015191506101008187860301818801526200509d8584620048ab565b945080880151925050610120620050b78188018462004dc8565b870151868503909101838701529050620050d2838262004f9d565b9695505050505050565b600080600060608486031215620050f257600080fd5b83356001600160401b03808211156200510a57600080fd5b620051188783880162004ba4565b945060208601359150808211156200512f57600080fd5b6200513d8783880162004ba4565b935060408601359150808211156200515457600080fd5b50620051638682870162004ba4565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200486957835115158352928401929184019160010162005189565b600080600080600080600060e0888a031215620051c557600080fd5b87359650620051d76020890162004875565b95506040880135945060608801356001600160401b03811115620051fa57600080fd5b620052088a828b0162004ba4565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f8301126200523c57600080fd5b813560206200524b82620049ed565b6040516200525a8282620049be565b83815260059390931b85018201928281019150868411156200527b57600080fd5b8286015b8481101562004a8a5780356001600160401b03811115620052a05760008081fd5b620052b08986838b010162004ba4565b8452509183019183016200527f565b600080600080600080600060e0888a031215620052db57600080fd5b87356001600160401b0380821115620052f357600080fd5b620053018b838c0162004ba4565b985060208a01359150808211156200531857600080fd5b620053268b838c0162004a13565b975060408a01359150808211156200533d57600080fd5b6200534b8b838c0162004ba4565b965060608a01359150808211156200536257600080fd5b620053708b838c016200522a565b955060808a01359150808211156200538757600080fd5b620053958b838c0162004ba4565b945060a08a0135915080821115620053ac57600080fd5b620053ba8b838c0162004ba4565b935060c08a0135915080821115620053d157600080fd5b50620053e08a828b0162004ba4565b91505092959891949750929550565b600080600080608085870312156200540657600080fd5b620054118562004875565b966020860135965060408601359560600135945092505050565b6000806000606084860312156200544157600080fd5b833592506020840135915060408401356001600160401b038111156200546657600080fd5b620051638682870162004ba4565b600080604083850312156200548857600080fd5b82356001600160401b0380821115620054a057600080fd5b620054ae8683870162004a13565b93506020850135915080821115620054c557600080fd5b50620054d48582860162004ba4565b9150509250929050565b602081526000620035bc602083018462004f9d565b600080604083850312156200550757600080fd5b620055128362004875565b946020939093013593505050565b600181811c908216806200553557607f821691505b602082108114156200555757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b60208082526033908201527f536e617073686f7445524332304775696c643a2050726f706f73616c20656e6460408201527219590b0818d85b9b9bdd081899481d9bdd1959606a1b606082015260800190565b6020808252602e908201527f536e617073686f7445524332304775696c643a20496e76616c696420766f746960408201526d1b99d41bddd95c88185b5bdd5b9d60921b606082015260800190565b60208082526049908201527f536e617073686f7445524332304775696c643a2043616e6e6f74206368616e6760408201527f65206f7074696f6e20766f7465642c206f6e6c7920696e63726561736520766f6060820152683a34b733a837bbb2b960b91b608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620057b957620057b96200578c565b5060010190565b600060033d1115620057da5760046000803e5060005160e01c5b90565b600060443d1015620057ec5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156200581c57505050505090565b8285019150815181811115620058355750505050505090565b843d8701016020828501011115620058505750505050505090565b6200586160208286010187620049be565b509095945050505050565b600080835481600182811c9150808316806200588957607f831692505b6020808410821415620058aa57634e487b7160e01b86526022600452602486fd5b818015620058c15760018114620058d35762005902565b60ff1986168952848901965062005902565b60008a81526020902060005b86811015620058fa5781548b820152908501908301620058df565b505084890196505b509498975050505050505050565b6000602082840312156200592357600080fd5b81518015158114620035bc57600080fd5b60008160001904831182151516156200595157620059516200578c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826200597e576200597e62005956565b500490565b600082198211156200599957620059996200578c565b500190565b600082821015620059b357620059b36200578c565b500390565b600082620059ca57620059ca62005956565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220fca88be9c697c624935afd1ddebe4a6551c22303fd36b569295b87b712c240ac64736f6c63430008080033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/contracts/SnapshotRepERC20Guild.json b/src/contracts/SnapshotRepERC20Guild.json index 57d9c38a5..1e0fc9934 100644 --- a/src/contracts/SnapshotRepERC20Guild.json +++ b/src/contracts/SnapshotRepERC20Guild.json @@ -1,1327 +1,1471 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "SnapshotRepERC20Guild", - "sourceName": "dxdao-contracts/contracts/erc20guild/implementations/SnapshotRepERC20Guild.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newState", - "type": "uint256" - } - ], - "name": "ProposalStateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensLocked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TokensWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "VoteAdded", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "MAX_OPTIONS_PER_PROPOSAL", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "activeProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "totalOptions", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - } - ], - "name": "createProposal", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "endProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getActiveProposalsNow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMinimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getName", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPermissionRegistry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getProposal", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "to", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "data", - "type": "bytes[]" - }, - { - "internalType": "uint256[]", - "name": "value", - "type": "uint256[]" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - }, - { - "internalType": "uint256[]", - "name": "totalVotes", - "type": "uint256[]" - } - ], - "internalType": "struct BaseERC20Guild.Proposal", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getProposalSnapshotId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getProposalVotesOfVoter", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIds", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProposalsIdsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "signedVoteHash", - "type": "bytes32" - } - ], - "name": "getSignedVote", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - } - ], - "name": "getSnapshotVotingPowerForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTimeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTokenVault", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalMembers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - } - ], - "name": "getVoterLockTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVotingPowerForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "hashVote", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_permissionRegistry", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "lockTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "maxActiveProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxGasPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumMembersForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumTokensLockedForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "contentHash", - "type": "string" - }, - { - "internalType": "enum BaseERC20Guild.ProposalState", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposalsIds", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "proposalsSnapshots", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeForExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalExecution", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPowerPercentageForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_voteGas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxGasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_maxActiveProposals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lockTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumMembersForProposalCreation", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumTokensLockedForProposalCreation", - "type": "uint256" - } - ], - "name": "setConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - }, - { - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "setSignedVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "proposalId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "option", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "votingPower", - "type": "uint256" - } - ], - "name": "setVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "signedVotes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timeForExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenVault", - "outputs": [ - { - "internalType": "contract TokenVault", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "tokensLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalLocked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "voteGas", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "votingPowerOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "snapshotId", - "type": "uint256" - } - ], - "name": "votingPowerOfAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "accounts", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "snapshotIds", - "type": "uint256[]" - } - ], - "name": "votingPowerOfMultipleAt", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalCreation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPowerPercentageForProposalExecution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "withdrawTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50615416806100206000396000f3fe608060405260043610620003e55760003560e01c80636c8b72f61162000203578063b3929aaa1162000117578063e158080a11620000a7578063f98606a71162000075578063f98606a71462000bec578063f9a92d821462000c04578063fc0c546a1462000c29578063fc4e703f1462000c4b57005b8063e158080a1462000b54578063f09951981462000b6c578063f2fde38b1462000baf578063f4732da61462000bd457005b8063c0a4d64d11620000e5578063c0a4d64d1462000ae9578063c93e01e31462000b00578063d8c6a6d11462000b17578063e04503531462000b3c57005b8063b3929aaa1462000a63578063b3b470611462000a88578063b7c15f8d1462000aad578063bcc3f3bd1462000ac457005b80638f1803051162000193578063a7aeb5571162000161578063a7aeb55714620009e8578063ad6c1e341462000a00578063adf2c7b61462000a17578063ae6192341462000a4b57005b80638f180305146200097457806392b71654146200098b578063a16fe34214620009b0578063a78d80fc14620009d057005b806377027ff411620001d157806377027ff414620008f25780638029eff1146200090957806389c98c06146200093d5780638da5cb5b146200095457005b80636c8b72f614620008925780636e27d889146200070a578063715018a614620008a95780637189354614620008c157005b806325c069fc11620002fb5780633de39c11116200028b5780635689141211620002595780635689141214620008295780635bc789d914620008415780635e508c2c146200086357806364fe6ed2146200087b57005b80633de39c1114620007a55780633f10cf1514620007bd578063430694cf14620007d557806354f2f7af146200080957005b8063315a095d11620002c9578063315a095d146200070a57806332ed5b12146200072f57806336f8f8d914620007685780633bf353fb146200078d57005b806325c069fc14620006395780632d5b17de14620006635780632d757c3e14620006885780632fd99c0014620006c557005b806316bbecde116200037757806321df0da7116200034557806321df0da714620005a65780632229a0e214620005da57806322bafdff14620005f15780632467ef94146200062257005b806316bbecde146200053a57806317d7de7c146200055f578063184a0ae914620005775780631a5007dd146200058f57005b80630d66808711620003b55780630d66808714620004b3578063123f6d6714620004cb578063130485fe14620004f057806313108d74146200051557005b80623a40d014620003e757806301a598a6146200041757806306fdde0314620004655780630a366a63146200048c575b005b348015620003f457600080fd5b50620003ff62000c63565b6040516200040e919062003d1e565b60405180910390f35b3480156200042457600080fd5b506200044f6200043636600462003d81565b6012602052600090815260409020805460019091015482565b604080519283526020830191909152016200040e565b3480156200047257600080fd5b506200047d62000cbd565b6040516200040e919062003def565b3480156200049957600080fd5b50620004a462000d53565b6040519081526020016200040e565b348015620004c057600080fd5b50620004a4600d5481565b348015620004d857600080fd5b50620003e5620004ea36600462003e04565b62000d80565b348015620004fd57600080fd5b506200044f6200050f36600462003e6d565b62000f19565b3480156200052257600080fd5b50620004a4620005343660046200410a565b62000f4b565b3480156200054757600080fd5b50620003e562000559366004620041f4565b62001002565b3480156200056c57600080fd5b506200047d62001133565b3480156200058457600080fd5b50620004a460035481565b3480156200059c57600080fd5b50600a54620004a4565b348015620005b357600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016200040e565b348015620005e757600080fd5b50601654620004a4565b348015620005fe57600080fd5b50620004a46200061036600462004221565b6000908152607c602052604090205490565b3480156200062f57600080fd5b50600c54620004a4565b3480156200064657600080fd5b5062000650600a81565b60405160ff90911681526020016200040e565b3480156200067057600080fd5b50620003e5620006823660046200423b565b620011c4565b3480156200069557600080fd5b50620004a4620006a736600462003d81565b6001600160a01b031660009081526012602052604090206001015490565b348015620006d257600080fd5b50620006f9620006e436600462004221565b60136020526000908152604090205460ff1681565b60405190151581526020016200040e565b3480156200071757600080fd5b50620003e56200072936600462004221565b620014b7565b3480156200073c57600080fd5b50620007546200074e36600462004221565b62001514565b6040516200040e96959493929190620042e5565b3480156200077557600080fd5b50620003e56200078736600462004345565b62001678565b3480156200079a57600080fd5b50620004a4600c5481565b348015620007b257600080fd5b50620004a460085481565b348015620007ca57600080fd5b50620004a460045481565b348015620007e257600080fd5b50620007fa620007f436600462004221565b62001860565b6040516200040e9190620044cd565b3480156200081657600080fd5b506011546001600160a01b0316620005c1565b3480156200083657600080fd5b50620004a4600e5481565b3480156200084e57600080fd5b50601154620005c1906001600160a01b031681565b3480156200087057600080fd5b50620004a460055481565b3480156200088857600080fd5b50601054620004a4565b3480156200089f57600080fd5b50600754620004a4565b348015620008b657600080fd5b50620003e562001c13565b348015620008ce57600080fd5b50620004a4620008e036600462004221565b607c6020526000908152604090205481565b348015620008ff57600080fd5b50600954620004a4565b3480156200091657600080fd5b50620006f96200092836600462004221565b60009081526013602052604090205460ff1690565b3480156200094a57600080fd5b50600854620004a4565b3480156200096157600080fd5b50604a546001600160a01b0316620005c1565b3480156200098157600080fd5b50600b54620004a4565b3480156200099857600080fd5b50620004a4620009aa366004620045da565b62001c7d565b348015620009bd57600080fd5b506001546001600160a01b0316620005c1565b348015620009dd57600080fd5b50620004a4600a5481565b348015620009f557600080fd5b50620004a4600f5481565b34801562000a0d57600080fd5b50600f54620004a4565b34801562000a2457600080fd5b5062000a3c62000a3636600462004616565b62001cd4565b6040516200040e919062004681565b34801562000a5857600080fd5b50620004a462001db0565b34801562000a7057600080fd5b50620004a462000a8236600462004221565b62001dca565b34801562000a9557600080fd5b50620003e562000aa736600462004221565b62001dec565b34801562000aba57600080fd5b50600454620004a4565b34801562000ad157600080fd5b50620004a462000ae336600462003d81565b6200275c565b34801562000af657600080fd5b50600d54620004a4565b34801562000b0d57600080fd5b50600354620004a4565b34801562000b2457600080fd5b50620004a462000b3636600462004221565b620027e4565b34801562000b4957600080fd5b50620004a460095481565b34801562000b6157600080fd5b50620004a460105481565b34801562000b7957600080fd5b506200044f62000b8b36600462003e6d565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000bbc57600080fd5b50620003e562000bce36600462003d81565b62002893565b34801562000be157600080fd5b50620004a462002964565b34801562000bf957600080fd5b50620004a460065481565b34801562000c1157600080fd5b50620004a462000c2336600462004696565b620029ef565b34801562000c3657600080fd5b50600054620005c1906001600160a01b031681565b34801562000c5857600080fd5b50620004a460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000cb357602002820191906000526020600020905b81548152602001906001019080831162000c9e575b5050505050905090565b6002805462000ccc90620046c3565b80601f016020809104026020016040519081016040528092919081815260200182805462000cfa90620046c3565b801562000d4b5780601f1062000d1f5761010080835404028352916020019162000d4b565b820191906000526020600020905b81548152906001019060200180831162000d2d57829003601f168201915b505050505081565b600062000d7b61271062000d7460065462000d6d62002964565b9062002a7f565b9062002a8d565b905090565b33301462000e065760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000e295760405162461bcd60e51b815260040162000dfd9062004700565b8983101562000e4c5760405162461bcd60e51b815260040162000dfd906200474f565b6000881162000e6f5760405162461bcd60e51b815260040162000dfd90620047ac565b6201c90886111562000eea5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000dfd565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b60008062000f5e88888888888862002a9b565b905060008054906101000a90046001600160a01b03166001600160a01b0316635439ad866040518163ffffffff1660e01b815260040160206040518083038186803b15801562000fad57600080fd5b505afa15801562000fc2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fe8919062004809565b6000828152607c6020526040902055979650505050505050565b6000838152601560205260409020600201544210620010355760405162461bcd60e51b815260040162000dfd9062004823565b6000838152607c6020526040902054819062001053903390620029ef565b1015620010745760405162461bcd60e51b815260040162000dfd9062004879565b6000838152601460209081526040808320338452909152902054158015620010b657506000838152601460209081526040808320338452909152902060010154155b80620011015750600083815260146020908152604080832033845290915290205482148015620011015750600083815260146020908152604080832033845290915290206001015481115b620011205760405162461bcd60e51b815260040162000dfd90620048ca565b6200112e3384848462003082565b505050565b6060600280546200114490620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200117290620046c3565b801562000cb35780601f10620011975761010080835404028352916020019162000cb3565b820191906000526020600020905b815481529060010190602001808311620011a557509395945050505050565b6000858152601560205260409020600201544210620011f75760405162461bcd60e51b815260040162000dfd9062004823565b6000620012078387878762001c7d565b60008181526013602052604090205490915060ff1615620012775760405162461bcd60e51b8152602060048201526024808201527f536e617073686f7452657045524332304775696c643a20416c726561647920766044820152631bdd195960e21b606482015260840162000dfd565b620012db82620012d4836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90620032e3565b6001600160a01b0316836001600160a01b031614620013495760405162461bcd60e51b815260206004820152602360248201527f536e617073686f7452657045524332304775696c643a2057726f6e67207369676044820152623732b960e91b606482015260840162000dfd565b6000818152601360209081526040808320805460ff19166001179055888352607c90915290205484906200137f908590620029ef565b10158015620013b2575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620013d15760405162461bcd60e51b815260040162000dfd9062004879565b60008681526014602090815260408083206001600160a01b038716845290915290205415801562001425575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001482575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001482575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620014a15760405162461bcd60e51b815260040162000dfd90620048ca565b620014af8387878762003082565b505050505050565b60405162461bcd60e51b815260206004820152602b60248201527f536e617073686f7452657045524332304775696c643a20746f6b656e2076617560448201526a1b1d08191a5cd8589b195960aa1b606482015260840162000dfd565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b039094169492939192916200155090620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200157e90620046c3565b8015620015cf5780601f10620015a357610100808354040283529160200191620015cf565b820191906000526020600020905b815481529060010190602001808311620015b157829003601f168201915b505050505090806007018054620015e690620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200161490620046c3565b8015620016655780601f10620016395761010080835404028352916020019162001665565b820191906000526020600020905b8154815290600101906020018083116200164757829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff1680620016985750601754610100900460ff16155b620016b75760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff16158015620016dd576017805462ffff001916620101001790555b620016e762003303565b620016fc8c8c8c8c8c8c8c8c8c8c8c62003392565b600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842600060016040518663ffffffff1660e01b8152600401620017699594939291906200498a565b600060405180830381600087803b1580156200178457600080fd5b505af115801562001799573d6000803e3d6000fd5b50505050600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba600060016040518663ffffffff1660e01b81526004016200180a9594939291906200498a565b600060405180830381600087803b1580156200182557600080fd5b505af11580156200183a573d6000803e3d6000fd5b50505050801562001852576017805462ff0000191690555b505050505050505050505050565b6200186a62003aa5565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620018ff57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620018e0575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015620019e35783829060005260206000200180546200194f90620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200197d90620046c3565b8015620019ce5780601f10620019a257610100808354040283529160200191620019ce565b820191906000526020600020905b815481529060010190602001808311620019b057829003601f168201915b5050505050815260200190600101906200192d565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001a3c57602002820191906000526020600020905b81548152602001906001019080831162001a27575b5050505050815260200160068201805462001a5790620046c3565b80601f016020809104026020016040519081016040528092919081815260200182805462001a8590620046c3565b801562001ad65780601f1062001aaa5761010080835404028352916020019162001ad6565b820191906000526020600020905b81548152906001019060200180831162001ab857829003601f168201915b5050505050815260200160078201805462001af190620046c3565b80601f016020809104026020016040519081016040528092919081815260200182805462001b1f90620046c3565b801562001b705780601f1062001b445761010080835404028352916020019162001b70565b820191906000526020600020905b81548152906001019060200180831162001b5257829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001b9a5762001b9a620042ac565b600481111562001bae5762001bae620042ac565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001c0357602002820191906000526020600020905b81548152602001906001019080831162001bee575b5050505050815250509050919050565b604a546001600160a01b0316331462001c6f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000dfd565b62001c7b6000620035b8565b565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b60606000835167ffffffffffffffff81111562001cf55762001cf562003e9c565b60405190808252806020026020018201604052801562001d1f578160200160208202803683370190505b50905060005b845181101562001da85762001d7385828151811062001d485762001d48620049c5565b602002602001015185838151811062001d655762001d65620049c5565b6020026020010151620029ef565b82828151811062001d885762001d88620049c5565b60209081029190910101528062001d9f81620049f1565b91505062001d25565b509392505050565b600062000d7b61271062000d7460055462000d6d62002964565b6016818154811062001ddb57600080fd5b600091825260209091200154905081565b60175460ff161562001e545760405162461bcd60e51b815260206004820152602a60248201527f4552433230536e617073686f745265703a2050726f706f73616c20756e6465726044820152691032bc32b1baba34b7b760b11b606482015260840162000dfd565b600160008281526015602052604090206008015460ff16600481111562001e7f5762001e7f620042ac565b1462001ee25760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c20616c72656160448201526a191e48195e1958dd5d195960aa1b606482015260840162000dfd565b600081815260156020526040902060020154421162001f585760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c206861736e2760448201526a1d08195b991959081e595d60aa1b606482015260840162000dfd565b60008181526015602052604081206009018054829190829062001f7f5762001f7f620049c5565b600091825260209091200154905060015b600084815260156020526040902060090154811015620020c05762001fb584620027e4565b600085815260156020526040902060090180548390811062001fdb5762001fdb620049c5565b9060005260206000200154101580156200202757506000848152601560205260409020600901805483919083908110620020195762002019620049c5565b906000526020600020015410155b15620020ab576000848152601560205260409020600901805483919083908110620020565762002056620049c5565b90600052602060002001541415620020725760009250620020ab565b600084815260156020526040902060090180549193508391829081106200209d576200209d620049c5565b906000526020600020015491505b80620020b781620049f1565b91505062001f90565b8262002110576000848152601560205260409020600801805460ff191660029081179091558490600080516020620053c1833981519152905b60405190815260200160405180910390a262002743565b60045460008581526015602052604090206002015442916200213391906200360a565b101562002172576000848152601560205260409020600801805460ff191660049081179091558490600080516020620053c183398151915290620020f9565b600084815260156020526040812060088101805460ff1916600317905560090154620021be90620021a590600162003618565b6000878152601560205260409020600301549062002a8d565b9050620021d9620021d185600162003618565b829062002a7f565b91506000620021e983836200360a565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200223c57600080fd5b505af115801562002251573d6000803e3d6000fd5b505050505b808310156200269a576000868152601560205260408120600301805485908110620022855762002285620049c5565b6000918252602090912001546001600160a01b031614801590620022e557506000868152601560205260408120600401805485908110620022ca57620022ca620049c5565b906000526020600020018054620022e190620046c3565b9050115b1562002685576000868152601560205260408120600401805485908110620023115762002311620049c5565b9060005260206000200180546200232890620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200235690620046c3565b8015620023a75780601f106200237b57610100808354040283529160200191620023a7565b820191906000526020600020905b8154815290600101906020018083116200238957829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed470339250309189908110620023f557620023f5620049c5565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a815481106200243e576200243e620049c5565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b158015620024a357600080fd5b505af1925050508015620024b5575060015b6200251157620024c462004a0f565b806308c379a01415620025055750620024dc62004a2c565b80620024e9575062002507565b8060405162461bcd60e51b815260040162000dfd919062003def565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000888152601560205260408120600301805487908110620025445762002544620049c5565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b039092169188908110620025835762002583620049c5565b9060005260206000200154601560008c81526020019081526020016000206004018881548110620025b857620025b8620049c5565b90600052602060002001604051620025d1919062004abc565b60006040518083038185875af1925050503d806000811462002610576040519150601f19603f3d011682016040523d82523d6000602084013e62002615565b606091505b5050905080620026775760405162461bcd60e51b815260206004820152602660248201527f4552433230536e617073686f745265703a2050726f706f73616c2063616c6c2060448201526519985a5b195960d21b606482015260840162000dfd565b50506017805460ff19169055505b826200269181620049f1565b93505062002256565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b158015620026e057600080fd5b505af1158015620026f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200271b919062004b60565b5085600080516020620053c1833981519152600360405190815260200160405180910390a250505b600c546200275390600162003618565b600c5550505050565b600080546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015620027a357600080fd5b505afa158015620027b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027de919062004809565b92915050565b600554600080549091620027de916127109162000d74916001600160a01b031663981b24d062002820886000908152607c602052604090205490565b6040518263ffffffff1660e01b81526004016200283f91815260200190565b60206040518083038186803b1580156200285857600080fd5b505afa1580156200286d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d6d919062004809565b604a546001600160a01b03163314620028ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000dfd565b6001600160a01b038116620029565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000dfd565b6200296181620035b8565b50565b60008060009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015620029b457600080fd5b505afa158015620029c9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d7b919062004809565b6000805460405163277166bf60e11b81526001600160a01b0385811660048301526024820185905290911690634ee2cd7e9060440160206040518083038186803b15801562002a3d57600080fd5b505afa15801562002a52573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a78919062004809565b9392505050565b600062002a78828462004b84565b600062002a78828462004bbc565b6000601054600e54101562002b195760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000dfd565b600f54600b54101562002b8b5760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000dfd565b600954600c541062002bff5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000dfd565b62002c0962000d53565b62002c14336200275c565b101562002c825760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000dfd565b8551875114801562002c95575084518751145b62002d005760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000dfd565b600087511162002d6d5760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000dfd565b8651841115801562002d8a5750845162002d88908562003626565b155b62002dfe5760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000dfd565b600a84111562002e775760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000dfd565b600a546040516bffffffffffffffffffffffff193360601b166020820152426034820152605481019190915260009060740160405160208183030381529060405280519060200120905062002ed96001600a546200360a90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b03191633178155426001820181905560035462002f1191906200360a565b6002820155885162002f2d90600383019060208c019062003b15565b50875162002f4590600483019060208b019062003b7f565b50865162002f5d90600583019060208a019062003bdf565b50845162002f75906006830190602088019062003c1d565b50835162002f8d906007830190602087019062003c1d565b5062002f9b8660016200360a565b67ffffffffffffffff81111562002fb65762002fb662003e9c565b60405190808252806020026020018201604052801562002fe0578160200160208202803683370190505b50805162002ff991600984019160209091019062003bdf565b5060088101805460ff19166001908117909155600c546200301a916200360a565b600c5581600080516020620053c1833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526014602090815260408083206001600160a01b038816845282528083206001015486845260159092529091206009018054620030f8928492620030f19287908110620030d757620030d7620049c5565b90600052602060002001546200361890919063ffffffff16565b906200360a565b60008481526015602052604090206009018054849081106200311e576200311e620049c5565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003185856001600160a01b031660009081526012602052604090206001015490565b1015620031ba576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a360075415620032dd57600062003230620032266008543a6200363490919063ffffffff16565b6007549062002a7f565b9050804710158015620032425750333b155b15620032db57604051600090339083908381818185875af1925050503d80600081146200328c576040519150601f19603f3d011682016040523d82523d6000602084013e62003291565b606091505b5050905080620014af5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000dfd565b505b50505050565b6000806000620032f485856200364c565b9150915062001da881620036c2565b60175462010000900460ff1680620033235750601754610100900460ff16155b620033425760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff1615801562003368576017805462ffff001916620101001790555b6200337262003895565b6200337c6200390f565b801562002961576017805462ff00001916905550565b60175462010000900460ff1680620033b25750601754610100900460ff16155b620033d15760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff16158015620033f7576017805462ffff001916620101001790555b6001600160a01b038c166200345e5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000dfd565b60008b11620034815760405162461bcd60e51b815260040162000dfd9062004700565b8a831015620034a45760405162461bcd60e51b815260040162000dfd906200474f565b60008911620034c75760405162461bcd60e51b815260040162000dfd90620047ac565b8651620034dc9060029060208a019062003c1d565b50600080546001600160a01b0319166001600160a01b038e1690811790915560405130906200350b9062003c99565b6001600160a01b03928316815291166020820152604001604051809103906000f0801580156200353f573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001852576017805462ff000019169055505050505050505050505050565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600062002a78828462004bd3565b600062002a78828462004bee565b600062002a78828462004c08565b600081831062003645578162002a78565b5090919050565b600080825160411415620036875760208301516040840151606085015160001a6200367a878285856200397f565b9450945050505062000f44565b825160401415620036b55760208301516040840151620036a986838362003a74565b93509350505062000f44565b5060009050600262000f44565b6000816004811115620036d957620036d9620042ac565b1415620036e35750565b6001816004811115620036fa57620036fa620042ac565b14156200374a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000dfd565b6002816004811115620037615762003761620042ac565b1415620037b15760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000dfd565b6003816004811115620037c857620037c8620042ac565b1415620038235760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000dfd565b60048160048111156200383a576200383a620042ac565b1415620029615760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000dfd565b60175462010000900460ff1680620038b55750601754610100900460ff16155b620038d45760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff161580156200337c576017805462ffff00191662010100179055801562002961576017805462ff00001916905550565b60175462010000900460ff16806200392f5750601754610100900460ff16155b6200394e5760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff1615801562003974576017805462ffff001916620101001790555b6200337c33620035b8565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620039b8575060009050600362003a6b565b8460ff16601b14158015620039d157508460ff16601c14155b15620039e4575060009050600462003a6b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562003a39573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662003a645760006001925092505062003a6b565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b0162003a97878288856200397f565b935093505050935093915050565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003b085762003b08620042ac565b8152602001606081525090565b82805482825590600052602060002090810192821562003b6d579160200282015b8281111562003b6d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003b36565b5062003b7b92915062003ca7565b5090565b82805482825590600052602060002090810192821562003bd1579160200282015b8281111562003bd1578251805162003bc091849160209091019062003c1d565b509160200191906001019062003ba0565b5062003b7b92915062003cbe565b82805482825590600052602060002090810192821562003b6d579160200282015b8281111562003b6d57825182559160200191906001019062003c00565b82805462003c2b90620046c3565b90600052602060002090601f01602090048101928262003c4f576000855562003b6d565b82601f1062003c6a57805160ff191683800117855562003b6d565b8280016001018555821562003b6d579182018281111562003b6d57825182559160200191906001019062003c00565b6107a18062004c2083390190565b5b8082111562003b7b576000815560010162003ca8565b8082111562003b7b57600062003cd5828262003cdf565b5060010162003cbe565b50805462003ced90620046c3565b6000825580601f1062003cfe575050565b601f01602090049060005260206000209081019062002961919062003ca7565b6020808252825182820181905260009190848201906040850190845b8181101562003d585783518352928401929184019160010162003d3a565b50909695505050505050565b80356001600160a01b038116811462003d7c57600080fd5b919050565b60006020828403121562003d9457600080fd5b62002a788262003d64565b6000815180845260005b8181101562003dc75760208185018101518683018201520162003da9565b8181111562003dda576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062002a78602083018462003d9f565b6000806000806000806000806000806101408b8d03121562003e2557600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121562003e8157600080fd5b8235915062003e936020840162003d64565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562003edb5762003edb62003e9c565b6040525050565b600067ffffffffffffffff82111562003eff5762003eff62003e9c565b5060051b60200190565b600082601f83011262003f1b57600080fd5b8135602062003f2a8262003ee2565b60405162003f39828262003eb2565b83815260059390931b850182019282810191508684111562003f5a57600080fd5b8286015b8481101562003f805762003f728162003d64565b835291830191830162003f5e565b509695505050505050565b600082601f83011262003f9d57600080fd5b813567ffffffffffffffff81111562003fba5762003fba62003e9c565b60405162003fd3601f8301601f19166020018262003eb2565b81815284602083860101111562003fe957600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200401857600080fd5b81356020620040278262003ee2565b60405162004036828262003eb2565b83815260059390931b85018201928281019150868411156200405757600080fd5b8286015b8481101562003f8057803567ffffffffffffffff8111156200407d5760008081fd5b6200408d8986838b010162003f8b565b8452509183019183016200405b565b600082601f830112620040ae57600080fd5b81356020620040bd8262003ee2565b604051620040cc828262003eb2565b83815260059390931b8501820192828101915086841115620040ed57600080fd5b8286015b8481101562003f805780358352918301918301620040f1565b60008060008060008060c087890312156200412457600080fd5b863567ffffffffffffffff808211156200413d57600080fd5b6200414b8a838b0162003f09565b975060208901359150808211156200416257600080fd5b620041708a838b0162004006565b965060408901359150808211156200418757600080fd5b620041958a838b016200409c565b9550606089013594506080890135915080821115620041b357600080fd5b620041c18a838b0162003f8b565b935060a0890135915080821115620041d857600080fd5b50620041e789828a0162003f8b565b9150509295509295509295565b6000806000606084860312156200420a57600080fd5b505081359360208301359350604090920135919050565b6000602082840312156200423457600080fd5b5035919050565b600080600080600060a086880312156200425457600080fd5b853594506020860135935060408601359250620042746060870162003d64565b9150608086013567ffffffffffffffff8111156200429157600080fd5b6200429f8882890162003f8b565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b60058110620042e157634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006200431460c083018662003d9f565b828103608084015262004328818662003d9f565b9150506200433a60a0830184620042c2565b979650505050505050565b60008060008060008060008060008060006101608c8e0312156200436857600080fd5b620043738c62003d64565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff811115620043ac57600080fd5b620043ba8e828f0162003f8b565b96505060c08c0135945060e08c013593506101008c013592506101208c01359150620043ea6101408d0162003d64565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b83811015620044375781516001600160a01b03168752958201959082019060010162004410565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b858110156200448e5782840389526200447b84835162003d9f565b9885019893509084019060010162004460565b5091979650505050505050565b600081518084526020808501945080840160005b838110156200443757815187529582019590820190600101620044af565b60208152620044e86020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200451c610160850183620043fc565b91506080850151601f19808685030160a08701526200453c848362004442565b935060a08701519150808685030160c08701526200455b84836200449b565b935060c08701519150808685030160e08701526200457a848362003d9f565b935060e087015191506101008187860301818801526200459b858462003d9f565b945080880151925050610120620045b581880184620042c2565b870151868503909101838701529050620045d083826200449b565b9695505050505050565b60008060008060808587031215620045f157600080fd5b620045fc8562003d64565b966020860135965060408601359560600135945092505050565b600080604083850312156200462a57600080fd5b823567ffffffffffffffff808211156200464357600080fd5b620046518683870162003f09565b935060208501359150808211156200466857600080fd5b5062004677858286016200409c565b9150509250929050565b60208152600062002a7860208301846200449b565b60008060408385031215620046aa57600080fd5b620046b58362003d64565b946020939093013593505050565b600181811c90821680620046d857607f821691505b60208210811415620046fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6000602082840312156200481c57600080fd5b5051919050565b60208082526036908201527f536e617073686f7452657045524332304775696c643a2050726f706f73616c20604082015275195b9919590b0818d85b9b9bdd081899481d9bdd195960521b606082015260800190565b60208082526031908201527f536e617073686f7452657045524332304775696c643a20496e76616c696420766040820152701bdd1a5b99d41bddd95c88185b5bdd5b9d607a1b606082015260800190565b6020808252604c908201527f536e617073686f7452657045524332304775696c643a2043616e6e6f7420636860408201527f616e6765206f7074696f6e20766f7465642c206f6e6c7920696e63726561736560608201526b103b37ba34b733a837bbb2b960a11b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0395861681529390941660208401526001600160e01b03199190911660408301526060820152901515608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562004a085762004a08620049db565b5060010190565b600060033d111562004a295760046000803e5060005160e01c5b90565b600060443d101562004a3b5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171562004a6c57505050505090565b828501915081518181111562004a855750505050505090565b843d870101602082850101111562004aa05750505050505090565b62004ab16020828601018762003eb2565b509095945050505050565b600080835481600182811c91508083168062004ad957607f831692505b602080841082141562004afa57634e487b7160e01b86526022600452602486fd5b81801562004b11576001811462004b235762004b52565b60ff1986168952848901965062004b52565b60008a81526020902060005b8681101562004b4a5781548b82015290850190830162004b2f565b505084890196505b509498975050505050505050565b60006020828403121562004b7357600080fd5b8151801515811462002a7857600080fd5b600081600019048311821515161562004ba15762004ba1620049db565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262004bce5762004bce62004ba6565b500490565b6000821982111562004be95762004be9620049db565b500190565b60008282101562004c035762004c03620049db565b500390565b60008262004c1a5762004c1a62004ba6565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a264697066735822122073d9b7d793a8c678d331abbdfc64a86035b9538bd9db4c3c1fd4fe8a03339d4364736f6c63430008080033", - "deployedBytecode": "0x608060405260043610620003e55760003560e01c80636c8b72f61162000203578063b3929aaa1162000117578063e158080a11620000a7578063f98606a71162000075578063f98606a71462000bec578063f9a92d821462000c04578063fc0c546a1462000c29578063fc4e703f1462000c4b57005b8063e158080a1462000b54578063f09951981462000b6c578063f2fde38b1462000baf578063f4732da61462000bd457005b8063c0a4d64d11620000e5578063c0a4d64d1462000ae9578063c93e01e31462000b00578063d8c6a6d11462000b17578063e04503531462000b3c57005b8063b3929aaa1462000a63578063b3b470611462000a88578063b7c15f8d1462000aad578063bcc3f3bd1462000ac457005b80638f1803051162000193578063a7aeb5571162000161578063a7aeb55714620009e8578063ad6c1e341462000a00578063adf2c7b61462000a17578063ae6192341462000a4b57005b80638f180305146200097457806392b71654146200098b578063a16fe34214620009b0578063a78d80fc14620009d057005b806377027ff411620001d157806377027ff414620008f25780638029eff1146200090957806389c98c06146200093d5780638da5cb5b146200095457005b80636c8b72f614620008925780636e27d889146200070a578063715018a614620008a95780637189354614620008c157005b806325c069fc11620002fb5780633de39c11116200028b5780635689141211620002595780635689141214620008295780635bc789d914620008415780635e508c2c146200086357806364fe6ed2146200087b57005b80633de39c1114620007a55780633f10cf1514620007bd578063430694cf14620007d557806354f2f7af146200080957005b8063315a095d11620002c9578063315a095d146200070a57806332ed5b12146200072f57806336f8f8d914620007685780633bf353fb146200078d57005b806325c069fc14620006395780632d5b17de14620006635780632d757c3e14620006885780632fd99c0014620006c557005b806316bbecde116200037757806321df0da7116200034557806321df0da714620005a65780632229a0e214620005da57806322bafdff14620005f15780632467ef94146200062257005b806316bbecde146200053a57806317d7de7c146200055f578063184a0ae914620005775780631a5007dd146200058f57005b80630d66808711620003b55780630d66808714620004b3578063123f6d6714620004cb578063130485fe14620004f057806313108d74146200051557005b80623a40d014620003e757806301a598a6146200041757806306fdde0314620004655780630a366a63146200048c575b005b348015620003f457600080fd5b50620003ff62000c63565b6040516200040e919062003d1e565b60405180910390f35b3480156200042457600080fd5b506200044f6200043636600462003d81565b6012602052600090815260409020805460019091015482565b604080519283526020830191909152016200040e565b3480156200047257600080fd5b506200047d62000cbd565b6040516200040e919062003def565b3480156200049957600080fd5b50620004a462000d53565b6040519081526020016200040e565b348015620004c057600080fd5b50620004a4600d5481565b348015620004d857600080fd5b50620003e5620004ea36600462003e04565b62000d80565b348015620004fd57600080fd5b506200044f6200050f36600462003e6d565b62000f19565b3480156200052257600080fd5b50620004a4620005343660046200410a565b62000f4b565b3480156200054757600080fd5b50620003e562000559366004620041f4565b62001002565b3480156200056c57600080fd5b506200047d62001133565b3480156200058457600080fd5b50620004a460035481565b3480156200059c57600080fd5b50600a54620004a4565b348015620005b357600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016200040e565b348015620005e757600080fd5b50601654620004a4565b348015620005fe57600080fd5b50620004a46200061036600462004221565b6000908152607c602052604090205490565b3480156200062f57600080fd5b50600c54620004a4565b3480156200064657600080fd5b5062000650600a81565b60405160ff90911681526020016200040e565b3480156200067057600080fd5b50620003e5620006823660046200423b565b620011c4565b3480156200069557600080fd5b50620004a4620006a736600462003d81565b6001600160a01b031660009081526012602052604090206001015490565b348015620006d257600080fd5b50620006f9620006e436600462004221565b60136020526000908152604090205460ff1681565b60405190151581526020016200040e565b3480156200071757600080fd5b50620003e56200072936600462004221565b620014b7565b3480156200073c57600080fd5b50620007546200074e36600462004221565b62001514565b6040516200040e96959493929190620042e5565b3480156200077557600080fd5b50620003e56200078736600462004345565b62001678565b3480156200079a57600080fd5b50620004a4600c5481565b348015620007b257600080fd5b50620004a460085481565b348015620007ca57600080fd5b50620004a460045481565b348015620007e257600080fd5b50620007fa620007f436600462004221565b62001860565b6040516200040e9190620044cd565b3480156200081657600080fd5b506011546001600160a01b0316620005c1565b3480156200083657600080fd5b50620004a4600e5481565b3480156200084e57600080fd5b50601154620005c1906001600160a01b031681565b3480156200087057600080fd5b50620004a460055481565b3480156200088857600080fd5b50601054620004a4565b3480156200089f57600080fd5b50600754620004a4565b348015620008b657600080fd5b50620003e562001c13565b348015620008ce57600080fd5b50620004a4620008e036600462004221565b607c6020526000908152604090205481565b348015620008ff57600080fd5b50600954620004a4565b3480156200091657600080fd5b50620006f96200092836600462004221565b60009081526013602052604090205460ff1690565b3480156200094a57600080fd5b50600854620004a4565b3480156200096157600080fd5b50604a546001600160a01b0316620005c1565b3480156200098157600080fd5b50600b54620004a4565b3480156200099857600080fd5b50620004a4620009aa366004620045da565b62001c7d565b348015620009bd57600080fd5b506001546001600160a01b0316620005c1565b348015620009dd57600080fd5b50620004a4600a5481565b348015620009f557600080fd5b50620004a4600f5481565b34801562000a0d57600080fd5b50600f54620004a4565b34801562000a2457600080fd5b5062000a3c62000a3636600462004616565b62001cd4565b6040516200040e919062004681565b34801562000a5857600080fd5b50620004a462001db0565b34801562000a7057600080fd5b50620004a462000a8236600462004221565b62001dca565b34801562000a9557600080fd5b50620003e562000aa736600462004221565b62001dec565b34801562000aba57600080fd5b50600454620004a4565b34801562000ad157600080fd5b50620004a462000ae336600462003d81565b6200275c565b34801562000af657600080fd5b50600d54620004a4565b34801562000b0d57600080fd5b50600354620004a4565b34801562000b2457600080fd5b50620004a462000b3636600462004221565b620027e4565b34801562000b4957600080fd5b50620004a460095481565b34801562000b6157600080fd5b50620004a460105481565b34801562000b7957600080fd5b506200044f62000b8b36600462003e6d565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000bbc57600080fd5b50620003e562000bce36600462003d81565b62002893565b34801562000be157600080fd5b50620004a462002964565b34801562000bf957600080fd5b50620004a460065481565b34801562000c1157600080fd5b50620004a462000c2336600462004696565b620029ef565b34801562000c3657600080fd5b50600054620005c1906001600160a01b031681565b34801562000c5857600080fd5b50620004a460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000cb357602002820191906000526020600020905b81548152602001906001019080831162000c9e575b5050505050905090565b6002805462000ccc90620046c3565b80601f016020809104026020016040519081016040528092919081815260200182805462000cfa90620046c3565b801562000d4b5780601f1062000d1f5761010080835404028352916020019162000d4b565b820191906000526020600020905b81548152906001019060200180831162000d2d57829003601f168201915b505050505081565b600062000d7b61271062000d7460065462000d6d62002964565b9062002a7f565b9062002a8d565b905090565b33301462000e065760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000e295760405162461bcd60e51b815260040162000dfd9062004700565b8983101562000e4c5760405162461bcd60e51b815260040162000dfd906200474f565b6000881162000e6f5760405162461bcd60e51b815260040162000dfd90620047ac565b6201c90886111562000eea5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000dfd565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b60008062000f5e88888888888862002a9b565b905060008054906101000a90046001600160a01b03166001600160a01b0316635439ad866040518163ffffffff1660e01b815260040160206040518083038186803b15801562000fad57600080fd5b505afa15801562000fc2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fe8919062004809565b6000828152607c6020526040902055979650505050505050565b6000838152601560205260409020600201544210620010355760405162461bcd60e51b815260040162000dfd9062004823565b6000838152607c6020526040902054819062001053903390620029ef565b1015620010745760405162461bcd60e51b815260040162000dfd9062004879565b6000838152601460209081526040808320338452909152902054158015620010b657506000838152601460209081526040808320338452909152902060010154155b80620011015750600083815260146020908152604080832033845290915290205482148015620011015750600083815260146020908152604080832033845290915290206001015481115b620011205760405162461bcd60e51b815260040162000dfd90620048ca565b6200112e3384848462003082565b505050565b6060600280546200114490620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200117290620046c3565b801562000cb35780601f10620011975761010080835404028352916020019162000cb3565b820191906000526020600020905b815481529060010190602001808311620011a557509395945050505050565b6000858152601560205260409020600201544210620011f75760405162461bcd60e51b815260040162000dfd9062004823565b6000620012078387878762001c7d565b60008181526013602052604090205490915060ff1615620012775760405162461bcd60e51b8152602060048201526024808201527f536e617073686f7452657045524332304775696c643a20416c726561647920766044820152631bdd195960e21b606482015260840162000dfd565b620012db82620012d4836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90620032e3565b6001600160a01b0316836001600160a01b031614620013495760405162461bcd60e51b815260206004820152602360248201527f536e617073686f7452657045524332304775696c643a2057726f6e67207369676044820152623732b960e91b606482015260840162000dfd565b6000818152601360209081526040808320805460ff19166001179055888352607c90915290205484906200137f908590620029ef565b10158015620013b2575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620013d15760405162461bcd60e51b815260040162000dfd9062004879565b60008681526014602090815260408083206001600160a01b038716845290915290205415801562001425575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001482575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001482575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620014a15760405162461bcd60e51b815260040162000dfd90620048ca565b620014af8387878762003082565b505050505050565b60405162461bcd60e51b815260206004820152602b60248201527f536e617073686f7452657045524332304775696c643a20746f6b656e2076617560448201526a1b1d08191a5cd8589b195960aa1b606482015260840162000dfd565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b039094169492939192916200155090620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200157e90620046c3565b8015620015cf5780601f10620015a357610100808354040283529160200191620015cf565b820191906000526020600020905b815481529060010190602001808311620015b157829003601f168201915b505050505090806007018054620015e690620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200161490620046c3565b8015620016655780601f10620016395761010080835404028352916020019162001665565b820191906000526020600020905b8154815290600101906020018083116200164757829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff1680620016985750601754610100900460ff16155b620016b75760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff16158015620016dd576017805462ffff001916620101001790555b620016e762003303565b620016fc8c8c8c8c8c8c8c8c8c8c8c62003392565b600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842600060016040518663ffffffff1660e01b8152600401620017699594939291906200498a565b600060405180830381600087803b1580156200178457600080fd5b505af115801562001799573d6000803e3d6000fd5b50505050600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba600060016040518663ffffffff1660e01b81526004016200180a9594939291906200498a565b600060405180830381600087803b1580156200182557600080fd5b505af11580156200183a573d6000803e3d6000fd5b50505050801562001852576017805462ff0000191690555b505050505050505050505050565b6200186a62003aa5565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620018ff57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620018e0575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015620019e35783829060005260206000200180546200194f90620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200197d90620046c3565b8015620019ce5780601f10620019a257610100808354040283529160200191620019ce565b820191906000526020600020905b815481529060010190602001808311620019b057829003601f168201915b5050505050815260200190600101906200192d565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001a3c57602002820191906000526020600020905b81548152602001906001019080831162001a27575b5050505050815260200160068201805462001a5790620046c3565b80601f016020809104026020016040519081016040528092919081815260200182805462001a8590620046c3565b801562001ad65780601f1062001aaa5761010080835404028352916020019162001ad6565b820191906000526020600020905b81548152906001019060200180831162001ab857829003601f168201915b5050505050815260200160078201805462001af190620046c3565b80601f016020809104026020016040519081016040528092919081815260200182805462001b1f90620046c3565b801562001b705780601f1062001b445761010080835404028352916020019162001b70565b820191906000526020600020905b81548152906001019060200180831162001b5257829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001b9a5762001b9a620042ac565b600481111562001bae5762001bae620042ac565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001c0357602002820191906000526020600020905b81548152602001906001019080831162001bee575b5050505050815250509050919050565b604a546001600160a01b0316331462001c6f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000dfd565b62001c7b6000620035b8565b565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b60606000835167ffffffffffffffff81111562001cf55762001cf562003e9c565b60405190808252806020026020018201604052801562001d1f578160200160208202803683370190505b50905060005b845181101562001da85762001d7385828151811062001d485762001d48620049c5565b602002602001015185838151811062001d655762001d65620049c5565b6020026020010151620029ef565b82828151811062001d885762001d88620049c5565b60209081029190910101528062001d9f81620049f1565b91505062001d25565b509392505050565b600062000d7b61271062000d7460055462000d6d62002964565b6016818154811062001ddb57600080fd5b600091825260209091200154905081565b60175460ff161562001e545760405162461bcd60e51b815260206004820152602a60248201527f4552433230536e617073686f745265703a2050726f706f73616c20756e6465726044820152691032bc32b1baba34b7b760b11b606482015260840162000dfd565b600160008281526015602052604090206008015460ff16600481111562001e7f5762001e7f620042ac565b1462001ee25760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c20616c72656160448201526a191e48195e1958dd5d195960aa1b606482015260840162000dfd565b600081815260156020526040902060020154421162001f585760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c206861736e2760448201526a1d08195b991959081e595d60aa1b606482015260840162000dfd565b60008181526015602052604081206009018054829190829062001f7f5762001f7f620049c5565b600091825260209091200154905060015b600084815260156020526040902060090154811015620020c05762001fb584620027e4565b600085815260156020526040902060090180548390811062001fdb5762001fdb620049c5565b9060005260206000200154101580156200202757506000848152601560205260409020600901805483919083908110620020195762002019620049c5565b906000526020600020015410155b15620020ab576000848152601560205260409020600901805483919083908110620020565762002056620049c5565b90600052602060002001541415620020725760009250620020ab565b600084815260156020526040902060090180549193508391829081106200209d576200209d620049c5565b906000526020600020015491505b80620020b781620049f1565b91505062001f90565b8262002110576000848152601560205260409020600801805460ff191660029081179091558490600080516020620053c1833981519152905b60405190815260200160405180910390a262002743565b60045460008581526015602052604090206002015442916200213391906200360a565b101562002172576000848152601560205260409020600801805460ff191660049081179091558490600080516020620053c183398151915290620020f9565b600084815260156020526040812060088101805460ff1916600317905560090154620021be90620021a590600162003618565b6000878152601560205260409020600301549062002a8d565b9050620021d9620021d185600162003618565b829062002a7f565b91506000620021e983836200360a565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200223c57600080fd5b505af115801562002251573d6000803e3d6000fd5b505050505b808310156200269a576000868152601560205260408120600301805485908110620022855762002285620049c5565b6000918252602090912001546001600160a01b031614801590620022e557506000868152601560205260408120600401805485908110620022ca57620022ca620049c5565b906000526020600020018054620022e190620046c3565b9050115b1562002685576000868152601560205260408120600401805485908110620023115762002311620049c5565b9060005260206000200180546200232890620046c3565b80601f01602080910402602001604051908101604052809291908181526020018280546200235690620046c3565b8015620023a75780601f106200237b57610100808354040283529160200191620023a7565b820191906000526020600020905b8154815290600101906020018083116200238957829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed470339250309189908110620023f557620023f5620049c5565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a815481106200243e576200243e620049c5565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b158015620024a357600080fd5b505af1925050508015620024b5575060015b6200251157620024c462004a0f565b806308c379a01415620025055750620024dc62004a2c565b80620024e9575062002507565b8060405162461bcd60e51b815260040162000dfd919062003def565b505b3d6000803e3d6000fd5b6017805460ff191660011790556000888152601560205260408120600301805487908110620025445762002544620049c5565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b039092169188908110620025835762002583620049c5565b9060005260206000200154601560008c81526020019081526020016000206004018881548110620025b857620025b8620049c5565b90600052602060002001604051620025d1919062004abc565b60006040518083038185875af1925050503d806000811462002610576040519150601f19603f3d011682016040523d82523d6000602084013e62002615565b606091505b5050905080620026775760405162461bcd60e51b815260206004820152602660248201527f4552433230536e617073686f745265703a2050726f706f73616c2063616c6c2060448201526519985a5b195960d21b606482015260840162000dfd565b50506017805460ff19169055505b826200269181620049f1565b93505062002256565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b158015620026e057600080fd5b505af1158015620026f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200271b919062004b60565b5085600080516020620053c1833981519152600360405190815260200160405180910390a250505b600c546200275390600162003618565b600c5550505050565b600080546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015620027a357600080fd5b505afa158015620027b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027de919062004809565b92915050565b600554600080549091620027de916127109162000d74916001600160a01b031663981b24d062002820886000908152607c602052604090205490565b6040518263ffffffff1660e01b81526004016200283f91815260200190565b60206040518083038186803b1580156200285857600080fd5b505afa1580156200286d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d6d919062004809565b604a546001600160a01b03163314620028ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000dfd565b6001600160a01b038116620029565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000dfd565b6200296181620035b8565b50565b60008060009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015620029b457600080fd5b505afa158015620029c9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d7b919062004809565b6000805460405163277166bf60e11b81526001600160a01b0385811660048301526024820185905290911690634ee2cd7e9060440160206040518083038186803b15801562002a3d57600080fd5b505afa15801562002a52573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a78919062004809565b9392505050565b600062002a78828462004b84565b600062002a78828462004bbc565b6000601054600e54101562002b195760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000dfd565b600f54600b54101562002b8b5760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000dfd565b600954600c541062002bff5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000dfd565b62002c0962000d53565b62002c14336200275c565b101562002c825760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000dfd565b8551875114801562002c95575084518751145b62002d005760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000dfd565b600087511162002d6d5760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000dfd565b8651841115801562002d8a5750845162002d88908562003626565b155b62002dfe5760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000dfd565b600a84111562002e775760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000dfd565b600a546040516bffffffffffffffffffffffff193360601b166020820152426034820152605481019190915260009060740160405160208183030381529060405280519060200120905062002ed96001600a546200360a90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b03191633178155426001820181905560035462002f1191906200360a565b6002820155885162002f2d90600383019060208c019062003b15565b50875162002f4590600483019060208b019062003b7f565b50865162002f5d90600583019060208a019062003bdf565b50845162002f75906006830190602088019062003c1d565b50835162002f8d906007830190602087019062003c1d565b5062002f9b8660016200360a565b67ffffffffffffffff81111562002fb65762002fb662003e9c565b60405190808252806020026020018201604052801562002fe0578160200160208202803683370190505b50805162002ff991600984019160209091019062003bdf565b5060088101805460ff19166001908117909155600c546200301a916200360a565b600c5581600080516020620053c1833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526014602090815260408083206001600160a01b038816845282528083206001015486845260159092529091206009018054620030f8928492620030f19287908110620030d757620030d7620049c5565b90600052602060002001546200361890919063ffffffff16565b906200360a565b60008481526015602052604090206009018054849081106200311e576200311e620049c5565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003185856001600160a01b031660009081526012602052604090206001015490565b1015620031ba576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a360075415620032dd57600062003230620032266008543a6200363490919063ffffffff16565b6007549062002a7f565b9050804710158015620032425750333b155b15620032db57604051600090339083908381818185875af1925050503d80600081146200328c576040519150601f19603f3d011682016040523d82523d6000602084013e62003291565b606091505b5050905080620014af5760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000dfd565b505b50505050565b6000806000620032f485856200364c565b9150915062001da881620036c2565b60175462010000900460ff1680620033235750601754610100900460ff16155b620033425760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff1615801562003368576017805462ffff001916620101001790555b6200337262003895565b6200337c6200390f565b801562002961576017805462ff00001916905550565b60175462010000900460ff1680620033b25750601754610100900460ff16155b620033d15760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff16158015620033f7576017805462ffff001916620101001790555b6001600160a01b038c166200345e5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000dfd565b60008b11620034815760405162461bcd60e51b815260040162000dfd9062004700565b8a831015620034a45760405162461bcd60e51b815260040162000dfd906200474f565b60008911620034c75760405162461bcd60e51b815260040162000dfd90620047ac565b8651620034dc9060029060208a019062003c1d565b50600080546001600160a01b0319166001600160a01b038e1690811790915560405130906200350b9062003c99565b6001600160a01b03928316815291166020820152604001604051809103906000f0801580156200353f573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001852576017805462ff000019169055505050505050505050505050565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600062002a78828462004bd3565b600062002a78828462004bee565b600062002a78828462004c08565b600081831062003645578162002a78565b5090919050565b600080825160411415620036875760208301516040840151606085015160001a6200367a878285856200397f565b9450945050505062000f44565b825160401415620036b55760208301516040840151620036a986838362003a74565b93509350505062000f44565b5060009050600262000f44565b6000816004811115620036d957620036d9620042ac565b1415620036e35750565b6001816004811115620036fa57620036fa620042ac565b14156200374a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000dfd565b6002816004811115620037615762003761620042ac565b1415620037b15760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000dfd565b6003816004811115620037c857620037c8620042ac565b1415620038235760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000dfd565b60048160048111156200383a576200383a620042ac565b1415620029615760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000dfd565b60175462010000900460ff1680620038b55750601754610100900460ff16155b620038d45760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff161580156200337c576017805462ffff00191662010100179055801562002961576017805462ff00001916905550565b60175462010000900460ff16806200392f5750601754610100900460ff16155b6200394e5760405162461bcd60e51b815260040162000dfd906200493c565b60175462010000900460ff1615801562003974576017805462ffff001916620101001790555b6200337c33620035b8565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115620039b8575060009050600362003a6b565b8460ff16601b14158015620039d157508460ff16601c14155b15620039e4575060009050600462003a6b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801562003a39573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662003a645760006001925092505062003a6b565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b0162003a97878288856200397f565b935093505050935093915050565b60405180610140016040528060006001600160a01b03168152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016000600481111562003b085762003b08620042ac565b8152602001606081525090565b82805482825590600052602060002090810192821562003b6d579160200282015b8281111562003b6d57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062003b36565b5062003b7b92915062003ca7565b5090565b82805482825590600052602060002090810192821562003bd1579160200282015b8281111562003bd1578251805162003bc091849160209091019062003c1d565b509160200191906001019062003ba0565b5062003b7b92915062003cbe565b82805482825590600052602060002090810192821562003b6d579160200282015b8281111562003b6d57825182559160200191906001019062003c00565b82805462003c2b90620046c3565b90600052602060002090601f01602090048101928262003c4f576000855562003b6d565b82601f1062003c6a57805160ff191683800117855562003b6d565b8280016001018555821562003b6d579182018281111562003b6d57825182559160200191906001019062003c00565b6107a18062004c2083390190565b5b8082111562003b7b576000815560010162003ca8565b8082111562003b7b57600062003cd5828262003cdf565b5060010162003cbe565b50805462003ced90620046c3565b6000825580601f1062003cfe575050565b601f01602090049060005260206000209081019062002961919062003ca7565b6020808252825182820181905260009190848201906040850190845b8181101562003d585783518352928401929184019160010162003d3a565b50909695505050505050565b80356001600160a01b038116811462003d7c57600080fd5b919050565b60006020828403121562003d9457600080fd5b62002a788262003d64565b6000815180845260005b8181101562003dc75760208185018101518683018201520162003da9565b8181111562003dda576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062002a78602083018462003d9f565b6000806000806000806000806000806101408b8d03121562003e2557600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b6000806040838503121562003e8157600080fd5b8235915062003e936020840162003d64565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562003edb5762003edb62003e9c565b6040525050565b600067ffffffffffffffff82111562003eff5762003eff62003e9c565b5060051b60200190565b600082601f83011262003f1b57600080fd5b8135602062003f2a8262003ee2565b60405162003f39828262003eb2565b83815260059390931b850182019282810191508684111562003f5a57600080fd5b8286015b8481101562003f805762003f728162003d64565b835291830191830162003f5e565b509695505050505050565b600082601f83011262003f9d57600080fd5b813567ffffffffffffffff81111562003fba5762003fba62003e9c565b60405162003fd3601f8301601f19166020018262003eb2565b81815284602083860101111562003fe957600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126200401857600080fd5b81356020620040278262003ee2565b60405162004036828262003eb2565b83815260059390931b85018201928281019150868411156200405757600080fd5b8286015b8481101562003f8057803567ffffffffffffffff8111156200407d5760008081fd5b6200408d8986838b010162003f8b565b8452509183019183016200405b565b600082601f830112620040ae57600080fd5b81356020620040bd8262003ee2565b604051620040cc828262003eb2565b83815260059390931b8501820192828101915086841115620040ed57600080fd5b8286015b8481101562003f805780358352918301918301620040f1565b60008060008060008060c087890312156200412457600080fd5b863567ffffffffffffffff808211156200413d57600080fd5b6200414b8a838b0162003f09565b975060208901359150808211156200416257600080fd5b620041708a838b0162004006565b965060408901359150808211156200418757600080fd5b620041958a838b016200409c565b9550606089013594506080890135915080821115620041b357600080fd5b620041c18a838b0162003f8b565b935060a0890135915080821115620041d857600080fd5b50620041e789828a0162003f8b565b9150509295509295509295565b6000806000606084860312156200420a57600080fd5b505081359360208301359350604090920135919050565b6000602082840312156200423457600080fd5b5035919050565b600080600080600060a086880312156200425457600080fd5b853594506020860135935060408601359250620042746060870162003d64565b9150608086013567ffffffffffffffff8111156200429157600080fd5b6200429f8882890162003f8b565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b60058110620042e157634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c0606082015260006200431460c083018662003d9f565b828103608084015262004328818662003d9f565b9150506200433a60a0830184620042c2565b979650505050505050565b60008060008060008060008060008060006101608c8e0312156200436857600080fd5b620043738c62003d64565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c013567ffffffffffffffff811115620043ac57600080fd5b620043ba8e828f0162003f8b565b96505060c08c0135945060e08c013593506101008c013592506101208c01359150620043ea6101408d0162003d64565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b83811015620044375781516001600160a01b03168752958201959082019060010162004410565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b858110156200448e5782840389526200447b84835162003d9f565b9885019893509084019060010162004460565b5091979650505050505050565b600081518084526020808501945080840160005b838110156200443757815187529582019590820190600101620044af565b60208152620044e86020820183516001600160a01b03169052565b6020820151604082015260408201516060820152600060608301516101408060808501526200451c610160850183620043fc565b91506080850151601f19808685030160a08701526200453c848362004442565b935060a08701519150808685030160c08701526200455b84836200449b565b935060c08701519150808685030160e08701526200457a848362003d9f565b935060e087015191506101008187860301818801526200459b858462003d9f565b945080880151925050610120620045b581880184620042c2565b870151868503909101838701529050620045d083826200449b565b9695505050505050565b60008060008060808587031215620045f157600080fd5b620045fc8562003d64565b966020860135965060408601359560600135945092505050565b600080604083850312156200462a57600080fd5b823567ffffffffffffffff808211156200464357600080fd5b620046518683870162003f09565b935060208501359150808211156200466857600080fd5b5062004677858286016200409c565b9150509250929050565b60208152600062002a7860208301846200449b565b60008060408385031215620046aa57600080fd5b620046b58362003d64565b946020939093013593505050565b600181811c90821680620046d857607f821691505b60208210811415620046fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6000602082840312156200481c57600080fd5b5051919050565b60208082526036908201527f536e617073686f7452657045524332304775696c643a2050726f706f73616c20604082015275195b9919590b0818d85b9b9bdd081899481d9bdd195960521b606082015260800190565b60208082526031908201527f536e617073686f7452657045524332304775696c643a20496e76616c696420766040820152701bdd1a5b99d41bddd95c88185b5bdd5b9d607a1b606082015260800190565b6020808252604c908201527f536e617073686f7452657045524332304775696c643a2043616e6e6f7420636860408201527f616e6765206f7074696f6e20766f7465642c206f6e6c7920696e63726561736560608201526b103b37ba34b733a837bbb2b960a11b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0395861681529390941660208401526001600160e01b03199190911660408301526060820152901515608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562004a085762004a08620049db565b5060010190565b600060033d111562004a295760046000803e5060005160e01c5b90565b600060443d101562004a3b5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171562004a6c57505050505090565b828501915081518181111562004a855750505050505090565b843d870101602082850101111562004aa05750505050505090565b62004ab16020828601018762003eb2565b509095945050505050565b600080835481600182811c91508083168062004ad957607f831692505b602080841082141562004afa57634e487b7160e01b86526022600452602486fd5b81801562004b11576001811462004b235762004b52565b60ff1986168952848901965062004b52565b60008a81526020902060005b8681101562004b4a5781548b82015290850190830162004b2f565b505084890196505b509498975050505050505050565b60006020828403121562004b7357600080fd5b8151801515811462002a7857600080fd5b600081600019048311821515161562004ba15762004ba1620049db565b500290565b634e487b7160e01b600052601260045260246000fd5b60008262004bce5762004bce62004ba6565b500490565b6000821982111562004be95762004be9620049db565b500190565b60008282101562004c035762004c03620049db565b500390565b60008262004c1a5762004c1a62004ba6565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a264697066735822122073d9b7d793a8c678d331abbdfc64a86035b9538bd9db4c3c1fd4fe8a03339d4364736f6c63430008080033", - "linkReferences": {}, - "deployedLinkReferences": {} -} +{ + "_format": "hh-sol-artifact-1", + "contractName": "SnapshotRepERC20Guild", + "sourceName": "dxdao-contracts/contracts/erc20guild/implementations/SnapshotRepERC20Guild.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newState", + "type": "uint256" + } + ], + "name": "ProposalStateChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TokensWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "VoteAdded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "MAX_OPTIONS_PER_PROPOSAL", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "activeProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "totalOptions", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + } + ], + "name": "createProposal", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "endProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "executeSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "roots", + "type": "bytes32[]" + }, + { + "internalType": "address[]", + "name": "voters", + "type": "address[]" + }, + { + "internalType": "bytes32[]", + "name": "votesHashes", + "type": "bytes32[]" + }, + { + "internalType": "bytes32[][]", + "name": "proofs", + "type": "bytes32[][]" + }, + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeSignedVotesBatches", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "proposalIds", + "type": "bytes32[]" + }, + { + "internalType": "uint256[]", + "name": "options", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "votingPowers", + "type": "uint256[]" + } + ], + "name": "executeVotes", + "outputs": [ + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getActiveProposalsNow", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getName", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPermissionRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "to", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + }, + { + "internalType": "uint256[]", + "name": "totalVotes", + "type": "uint256[]" + } + ], + "internalType": "struct BaseERC20Guild.Proposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getProposalSnapshotId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getProposalVotesOfVoter", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIds", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProposalsIdsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "signedVoteHash", + "type": "bytes32" + } + ], + "name": "getSignedVote", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "getSnapshotVotingPowerForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTimeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTokenVault", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalMembers", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + } + ], + "name": "getVoterLockTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVotingPowerForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "hashVote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_permissionRegistry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lockTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxActiveProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxGasPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumMembersForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumTokensLockedForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "proposalVotes", + "outputs": [ + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "startTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "endTime", + "type": "uint256" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "contentHash", + "type": "string" + }, + { + "internalType": "enum BaseERC20Guild.ProposalState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposalsIds", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "proposalsSnapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_proposalTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_timeForExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalExecution", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_votingPowerPercentageForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_voteGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGasPrice", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxActiveProposals", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lockTime", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumMembersForProposalCreation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumTokensLockedForProposalCreation", + "type": "uint256" + } + ], + "name": "setConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + }, + { + "internalType": "address", + "name": "voter", + "type": "address" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "setSignedVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "proposalId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "option", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "votingPower", + "type": "uint256" + } + ], + "name": "setVote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "signedVotes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "timeForExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20Upgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenVault", + "outputs": [ + { + "internalType": "contract TokenVault", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tokensLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalProposals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "voteHash", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "name": "validateMerkleTreeLeaf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "voteGas", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "votingPowerOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "snapshotId", + "type": "uint256" + } + ], + "name": "votingPowerOfAt", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "snapshotIds", + "type": "uint256[]" + } + ], + "name": "votingPowerOfMultipleAt", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalCreation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "votingPowerPercentageForProposalExecution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "withdrawTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061622b80620000216000396000f3fe608060405260043610620004155760003560e01c80636e27d889116200021b578063ae6192341162000123578063e045035311620000b3578063f4732da61162000081578063f4732da61462000ca7578063f98606a71462000cbf578063f9a92d821462000cd7578063fc0c546a1462000cfc578063fc4e703f1462000d1e57005b8063e04503531462000c0f578063e158080a1462000c27578063f09951981462000c3f578063f2fde38b1462000c8257005b8063bcc3f3bd11620000f1578063bcc3f3bd1462000b97578063c0a4d64d1462000bbc578063c93e01e31462000bd3578063d8c6a6d11462000bea57005b8063ae6192341462000b1e578063b3929aaa1462000b36578063b3b470611462000b5b578063b7c15f8d1462000b8057005b80638da5cb5b11620001ab578063a78d80fc1162000179578063a78d80fc1462000a7e578063a7aeb5571462000a96578063ab6ea06b1462000aae578063ad6c1e341462000ad3578063adf2c7b61462000aea57005b80638da5cb5b1462000a025780638f1803051462000a2257806392b716541462000a39578063a16fe3421462000a5e57005b80638029eff111620001e95780638029eff1146200096d57806386e2712514620009a157806389c98c0614620009c65780638bb8591e14620009dd57005b80636e27d889146200073a578063715018a6146200090d57806371893546146200092557806377027ff4146200095657005b80632d5b17de116200031f5780633f10cf1511620002af5780635bc789d9116200027d5780635bc789d914620008715780635e508c2c146200089357806364fe6ed214620008ab578063671abed714620008c25780636c8b72f614620008f657005b80633f10cf1514620007ed578063430694cf146200080557806354f2f7af146200083957806356891412146200085957005b806332ed5b1211620002ed57806332ed5b12146200075f57806336f8f8d914620007985780633bf353fb14620007bd5780633de39c1114620007d557005b80632d5b17de14620006935780632d757c3e14620006b85780632fd99c0014620006f5578063315a095d146200073a57005b806316bbecde11620003a757806321df0da7116200037557806321df0da714620005d65780632229a0e2146200060a57806322bafdff14620006215780632467ef94146200065257806325c069fc146200066957005b806316bbecde146200056a57806317d7de7c146200058f578063184a0ae914620005a75780631a5007dd14620005bf57005b80630d66808711620003e55780630d66808714620004e3578063123f6d6714620004fb578063130485fe146200052057806313108d74146200054557005b80623a40d0146200041757806301a598a6146200044757806306fdde0314620004955780630a366a6314620004bc575b005b3480156200042457600080fd5b506200042f62000d36565b6040516200043e9190620047e0565b60405180910390f35b3480156200045457600080fd5b506200047f6200046636600462004843565b6012602052600090815260409020805460019091015482565b604080519283526020830191909152016200043e565b348015620004a257600080fd5b50620004ad62000d90565b6040516200043e9190620048b1565b348015620004c957600080fd5b50620004d462000e26565b6040519081526020016200043e565b348015620004f057600080fd5b50620004d4600d5481565b3480156200050857600080fd5b50620004156200051a366004620048c6565b62000e53565b3480156200052d57600080fd5b506200047f6200053f3660046200492f565b62000fec565b3480156200055257600080fd5b50620004d46200056436600462004bc8565b6200101e565b3480156200057757600080fd5b50620004156200058936600462004cb1565b620010d5565b3480156200059c57600080fd5b50620004ad62001206565b348015620005b457600080fd5b50620004d460035481565b348015620005cc57600080fd5b50600a54620004d4565b348015620005e357600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016200043e565b3480156200061757600080fd5b50601654620004d4565b3480156200062e57600080fd5b50620004d46200064036600462004cde565b6000908152607c602052604090205490565b3480156200065f57600080fd5b50600c54620004d4565b3480156200067657600080fd5b5062000680600a81565b60405160ff90911681526020016200043e565b348015620006a057600080fd5b5062000415620006b236600462004cf8565b62001297565b348015620006c557600080fd5b50620004d4620006d736600462004843565b6001600160a01b031660009081526012602052604090206001015490565b3480156200070257600080fd5b50620007296200071436600462004cde565b60136020526000908152604090205460ff1681565b60405190151581526020016200043e565b3480156200074757600080fd5b50620004156200075936600462004cde565b6200158a565b3480156200076c57600080fd5b50620007846200077e36600462004cde565b620015e7565b6040516200043e9695949392919062004da1565b348015620007a557600080fd5b5062000415620007b736600462004e01565b6200174b565b348015620007ca57600080fd5b50620004d4600c5481565b348015620007e257600080fd5b50620004d460085481565b348015620007fa57600080fd5b50620004d460045481565b3480156200081257600080fd5b506200082a6200082436600462004cde565b62001933565b6040516200043e919062004f88565b3480156200084657600080fd5b506011546001600160a01b0316620005f1565b3480156200086657600080fd5b50620004d4600e5481565b3480156200087e57600080fd5b50601154620005f1906001600160a01b031681565b348015620008a057600080fd5b50620004d460055481565b348015620008b857600080fd5b50601054620004d4565b348015620008cf57600080fd5b50620008e7620008e136600462005095565b62001ce6565b6040516200043e919062005126565b3480156200090357600080fd5b50600754620004d4565b3480156200091a57600080fd5b506200041562002157565b3480156200093257600080fd5b50620004d46200094436600462004cde565b607c6020526000908152604090205481565b3480156200096357600080fd5b50600954620004d4565b3480156200097a57600080fd5b50620007296200098c36600462004cde565b60009081526013602052604090205460ff1690565b348015620009ae57600080fd5b5062000415620009c036600462005162565b620021c1565b348015620009d357600080fd5b50600854620004d4565b348015620009ea57600080fd5b5062000415620009fc36600462005278565b62002564565b34801562000a0f57600080fd5b50604a546001600160a01b0316620005f1565b34801562000a2f57600080fd5b50600b54620004d4565b34801562000a4657600080fd5b50620004d462000a58366004620053a8565b62002665565b34801562000a6b57600080fd5b506001546001600160a01b0316620005f1565b34801562000a8b57600080fd5b50620004d4600a5481565b34801562000aa357600080fd5b50620004d4600f5481565b34801562000abb57600080fd5b506200072962000acd366004620053e4565b620026bc565b34801562000ae057600080fd5b50600f54620004d4565b34801562000af757600080fd5b5062000b0f62000b093660046200542d565b620026d3565b6040516200043e919062005497565b34801562000b2b57600080fd5b50620004d4620027ae565b34801562000b4357600080fd5b50620004d462000b5536600462004cde565b620027c8565b34801562000b6857600080fd5b506200041562000b7a36600462004cde565b620027ea565b34801562000b8d57600080fd5b50600454620004d4565b34801562000ba457600080fd5b50620004d462000bb636600462004843565b6200315a565b34801562000bc957600080fd5b50600d54620004d4565b34801562000be057600080fd5b50600354620004d4565b34801562000bf757600080fd5b50620004d462000c0936600462004cde565b620031e2565b34801562000c1c57600080fd5b50620004d460095481565b34801562000c3457600080fd5b50620004d460105481565b34801562000c4c57600080fd5b506200047f62000c5e3660046200492f565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000c8f57600080fd5b506200041562000ca136600462004843565b62003291565b34801562000cb457600080fd5b50620004d462003362565b34801562000ccc57600080fd5b50620004d460065481565b34801562000ce457600080fd5b50620004d462000cf6366004620054ac565b620033ed565b34801562000d0957600080fd5b50600054620005f1906001600160a01b031681565b34801562000d2b57600080fd5b50620004d460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000d8657602002820191906000526020600020905b81548152602001906001019080831162000d71575b5050505050905090565b6002805462000d9f90620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462000dcd90620054d9565b801562000e1e5780601f1062000df25761010080835404028352916020019162000e1e565b820191906000526020600020905b81548152906001019060200180831162000e0057829003601f168201915b505050505081565b600062000e4e61271062000e4760065462000e4062003362565b906200347d565b906200348b565b905090565b33301462000ed95760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000efc5760405162461bcd60e51b815260040162000ed09062005516565b8983101562000f1f5760405162461bcd60e51b815260040162000ed09062005565565b6000881162000f425760405162461bcd60e51b815260040162000ed090620055c2565b6201c90886111562000fbd5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000ed0565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000806200103188888888888862003499565b905060008054906101000a90046001600160a01b03166001600160a01b0316635439ad866040518163ffffffff1660e01b815260040160206040518083038186803b1580156200108057600080fd5b505afa15801562001095573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010bb91906200561f565b6000828152607c6020526040902055979650505050505050565b6000838152601560205260409020600201544210620011085760405162461bcd60e51b815260040162000ed09062005639565b6000838152607c6020526040902054819062001126903390620033ed565b1015620011475760405162461bcd60e51b815260040162000ed0906200568f565b60008381526014602090815260408083203384529091529020541580156200118957506000838152601460209081526040808320338452909152902060010154155b80620011d45750600083815260146020908152604080832033845290915290205482148015620011d45750600083815260146020908152604080832033845290915290206001015481115b620011f35760405162461bcd60e51b815260040162000ed090620056e0565b620012013384848462003a7f565b505050565b6060600280546200121790620054d9565b80601f01602080910402602001604051908101604052809291908181526020018280546200124590620054d9565b801562000d865780601f106200126a5761010080835404028352916020019162000d86565b820191906000526020600020905b8154815290600101906020018083116200127857509395945050505050565b6000858152601560205260409020600201544210620012ca5760405162461bcd60e51b815260040162000ed09062005639565b6000620012da8387878762002665565b60008181526013602052604090205490915060ff16156200134a5760405162461bcd60e51b8152602060048201526024808201527f536e617073686f7452657045524332304775696c643a20416c726561647920766044820152631bdd195960e21b606482015260840162000ed0565b620013ae82620013a7836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003ce0565b6001600160a01b0316836001600160a01b0316146200141c5760405162461bcd60e51b815260206004820152602360248201527f536e617073686f7452657045524332304775696c643a2057726f6e67207369676044820152623732b960e91b606482015260840162000ed0565b6000818152601360209081526040808320805460ff19166001179055888352607c909152902054849062001452908590620033ed565b1015801562001485575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620014a45760405162461bcd60e51b815260040162000ed0906200568f565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620014f8575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001555575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001555575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620015745760405162461bcd60e51b815260040162000ed090620056e0565b620015828387878762003a7f565b505050505050565b60405162461bcd60e51b815260206004820152602b60248201527f536e617073686f7452657045524332304775696c643a20746f6b656e2076617560448201526a1b1d08191a5cd8589b195960aa1b606482015260840162000ed0565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b039094169492939192916200162390620054d9565b80601f01602080910402602001604051908101604052809291908181526020018280546200165190620054d9565b8015620016a25780601f106200167657610100808354040283529160200191620016a2565b820191906000526020600020905b8154815290600101906020018083116200168457829003601f168201915b505050505090806007018054620016b990620054d9565b80601f0160208091040260200160405190810160405280929190818152602001828054620016e790620054d9565b8015620017385780601f106200170c5761010080835404028352916020019162001738565b820191906000526020600020905b8154815290600101906020018083116200171a57829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff16806200176b5750601754610100900460ff16155b6200178a5760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff16158015620017b0576017805462ffff001916620101001790555b620017ba62003d00565b620017cf8c8c8c8c8c8c8c8c8c8c8c62003d8f565b600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842600060016040518663ffffffff1660e01b81526004016200183c959493929190620057a0565b600060405180830381600087803b1580156200185757600080fd5b505af11580156200186c573d6000803e3d6000fd5b50505050600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba600060016040518663ffffffff1660e01b8152600401620018dd959493929190620057a0565b600060405180830381600087803b158015620018f857600080fd5b505af11580156200190d573d6000803e3d6000fd5b50505050801562001925576017805462ff0000191690555b505050505050505050505050565b6200193d62004567565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620019d257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620019b3575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101562001ab657838290600052602060002001805462001a2290620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462001a5090620054d9565b801562001aa15780601f1062001a755761010080835404028352916020019162001aa1565b820191906000526020600020905b81548152906001019060200180831162001a8357829003601f168201915b50505050508152602001906001019062001a00565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001b0f57602002820191906000526020600020905b81548152602001906001019080831162001afa575b5050505050815260200160068201805462001b2a90620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462001b5890620054d9565b801562001ba95780601f1062001b7d5761010080835404028352916020019162001ba9565b820191906000526020600020905b81548152906001019060200180831162001b8b57829003601f168201915b5050505050815260200160078201805462001bc490620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462001bf290620054d9565b801562001c435780601f1062001c175761010080835404028352916020019162001c43565b820191906000526020600020905b81548152906001019060200180831162001c2557829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001c6d5762001c6d62004d68565b600481111562001c815762001c8162004d68565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001cd657602002820191906000526020600020905b81548152602001906001019080831162001cc1575b5050505050815250509050919050565b60608251845114801562001cfb575081518351145b62001d6f5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000ed0565b60008085516001600160401b0381111562001d8e5762001d8e6200495e565b60405190808252806020026020018201604052801562001db8578160200160208202803683370190505b509050600091505b85518210156200214e57426015600088858151811062001de45762001de4620057db565b6020026020010151815260200190815260200160002060020154101562001e3257600081838151811062001e1c5762001e1c620057db565b9115156020928302919091019091015262002139565b83828151811062001e475762001e47620057db565b602002602001015162001e5a336200315a565b108062001ed757506014600087848151811062001e7b5762001e7b620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206001015484838151811062001ecd5762001ecd620057db565b6020026020010151105b1562001ef457600081838151811062001e1c5762001e1c620057db565b6014600087848151811062001f0d5762001f0d620057db565b60209081029190910181015182528181019290925260409081016000908120338252909252902054158062001f9757506014600087848151811062001f565762001f56620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b801562002091575084828151811062001fb45762001fb4620057db565b60200260200101516014600088858151811062001fd55762001fd5620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206000015414158015620020915750838281518110620020315762002031620057db565b602002602001015160146000888581518110620020525762002052620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b15620020ae57600081838151811062001e1c5762001e1c620057db565b6001818381518110620020c557620020c5620057db565b6020026020010190151590811515815250506200213933878481518110620020f157620020f1620057db565b60200260200101518785815181106200210e576200210e620057db565b60200260200101518786815181106200212b576200212b620057db565b602002602001015162003a7f565b81620021458162005807565b92505062001dc0565b95945050505050565b604a546001600160a01b03163314620021b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000ed0565b620021bf600062003fb5565b565b6000620021d18785858562002665565b9050858114620022245760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000ed0565b60008181526013602052604090205460ff1615620022855760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000ed0565b600062002294898888620026bc565b905080620022f15760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000ed0565b6000858152601560205260409020600201544210620023675760405162461bcd60e51b815260206004820152602b60248201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60448201526a1bdd081899481d9bdd195960aa1b606482015260840162000ed0565b8262002373896200315a565b10158015620023a6575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b620024035760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604482015265185b5bdd5b9d60d21b606482015260840162000ed0565b60008581526014602090815260408083206001600160a01b038c16845290915290205415801562002457575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b80620024b4575060008581526014602090815260408083206001600160a01b038c16845290915290205484148015620024b4575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b620025325760405162461bcd60e51b815260206004820152604160248201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60448201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656064820152603960f91b608482015260a40162000ed0565b6000828152601360205260409020805460ff19166001179055620025598886868662003a7f565b505050505050505050565b60005b87518110156200265b57620026468882815181106200258a576200258a620057db565b6020026020010151888381518110620025a757620025a7620057db565b6020026020010151888481518110620025c457620025c4620057db565b6020026020010151888581518110620025e157620025e1620057db565b6020026020010151888681518110620025fe57620025fe620057db565b60200260200101518887815181106200261b576200261b620057db565b6020026020010151888881518110620026385762002638620057db565b6020026020010151620021c1565b80620026528162005807565b91505062002567565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b6000620026cb82858562004007565b949350505050565b6060600083516001600160401b03811115620026f357620026f36200495e565b6040519080825280602002602001820160405280156200271d578160200160208202803683370190505b50905060005b8451811015620027a65762002771858281518110620027465762002746620057db565b6020026020010151858381518110620027635762002763620057db565b6020026020010151620033ed565b828281518110620027865762002786620057db565b6020908102919091010152806200279d8162005807565b91505062002723565b509392505050565b600062000e4e61271062000e4760055462000e4062003362565b60168181548110620027d957600080fd5b600091825260209091200154905081565b60175460ff1615620028525760405162461bcd60e51b815260206004820152602a60248201527f4552433230536e617073686f745265703a2050726f706f73616c20756e6465726044820152691032bc32b1baba34b7b760b11b606482015260840162000ed0565b600160008281526015602052604090206008015460ff1660048111156200287d576200287d62004d68565b14620028e05760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c20616c72656160448201526a191e48195e1958dd5d195960aa1b606482015260840162000ed0565b6000818152601560205260409020600201544211620029565760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c206861736e2760448201526a1d08195b991959081e595d60aa1b606482015260840162000ed0565b6000818152601560205260408120600901805482919082906200297d576200297d620057db565b600091825260209091200154905060015b60008481526015602052604090206009015481101562002abe57620029b384620031e2565b6000858152601560205260409020600901805483908110620029d957620029d9620057db565b90600052602060002001541015801562002a255750600084815260156020526040902060090180548391908390811062002a175762002a17620057db565b906000526020600020015410155b1562002aa957600084815260156020526040902060090180548391908390811062002a545762002a54620057db565b9060005260206000200154141562002a70576000925062002aa9565b6000848152601560205260409020600901805491935083918290811062002a9b5762002a9b620057db565b906000526020600020015491505b8062002ab58162005807565b9150506200298e565b8262002b0e576000848152601560205260409020600801805460ff191660029081179091558490600080516020620061d6833981519152905b60405190815260200160405180910390a262003141565b600454600085815260156020526040902060020154429162002b3191906200401f565b101562002b70576000848152601560205260409020600801805460ff191660049081179091558490600080516020620061d68339815191529062002af7565b600084815260156020526040812060088101805460ff191660031790556009015462002bbc9062002ba39060016200402d565b600087815260156020526040902060030154906200348b565b905062002bd762002bcf8560016200402d565b82906200347d565b9150600062002be783836200401f565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c3a57600080fd5b505af115801562002c4f573d6000803e3d6000fd5b505050505b808310156200309857600086815260156020526040812060030180548590811062002c835762002c83620057db565b6000918252602090912001546001600160a01b03161480159062002ce35750600086815260156020526040812060040180548590811062002cc85762002cc8620057db565b90600052602060002001805462002cdf90620054d9565b9050115b156200308357600086815260156020526040812060040180548590811062002d0f5762002d0f620057db565b90600052602060002001805462002d2690620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462002d5490620054d9565b801562002da55780601f1062002d795761010080835404028352916020019162002da5565b820191906000526020600020905b81548152906001019060200180831162002d8757829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062002df35762002df3620057db565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a8154811062002e3c5762002e3c620057db565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801562002ea157600080fd5b505af192505050801562002eb3575060015b62002f0f5762002ec262005825565b806308c379a0141562002f03575062002eda62005842565b8062002ee7575062002f05565b8060405162461bcd60e51b815260040162000ed09190620048b1565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811062002f425762002f42620057db565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b03909216918890811062002f815762002f81620057db565b9060005260206000200154601560008c8152602001908152602001600020600401888154811062002fb65762002fb6620057db565b9060005260206000200160405162002fcf9190620058d1565b60006040518083038185875af1925050503d80600081146200300e576040519150601f19603f3d011682016040523d82523d6000602084013e62003013565b606091505b5050905080620030755760405162461bcd60e51b815260206004820152602660248201527f4552433230536e617073686f745265703a2050726f706f73616c2063616c6c2060448201526519985a5b195960d21b606482015260840162000ed0565b50506017805460ff19169055505b826200308f8162005807565b93505062002c54565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b158015620030de57600080fd5b505af1158015620030f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003119919062005975565b5085600080516020620061d6833981519152600360405190815260200160405180910390a250505b600c54620031519060016200402d565b600c5550505050565b600080546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015620031a157600080fd5b505afa158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc91906200561f565b92915050565b600554600080549091620031dc916127109162000e47916001600160a01b031663981b24d06200321e886000908152607c602052604090205490565b6040518263ffffffff1660e01b81526004016200323d91815260200190565b60206040518083038186803b1580156200325657600080fd5b505afa1580156200326b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e4091906200561f565b604a546001600160a01b03163314620032ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000ed0565b6001600160a01b038116620033545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000ed0565b6200335f8162003fb5565b50565b60008060009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015620033b257600080fd5b505afa158015620033c7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e4e91906200561f565b6000805460405163277166bf60e11b81526001600160a01b0385811660048301526024820185905290911690634ee2cd7e9060440160206040518083038186803b1580156200343b57600080fd5b505afa15801562003450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200347691906200561f565b9392505050565b600062003476828462005999565b6000620034768284620059d1565b6000601054600e541015620035175760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000ed0565b600f54600b541015620035895760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000ed0565b600954600c5410620035fd5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000ed0565b6200360762000e26565b62003612336200315a565b1015620036805760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000ed0565b8551875114801562003693575084518751145b620036fe5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000ed0565b60008751116200376b5760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000ed0565b8651841115801562003788575084516200378690856200403b565b155b620037fc5760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000ed0565b600a841115620038755760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000ed0565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620038d76001600a546200401f90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546200390f91906200401f565b600282015588516200392b90600383019060208c0190620045d7565b5087516200394390600483019060208b019062004641565b5086516200395b90600583019060208a0190620046a1565b508451620039739060068301906020880190620046df565b5083516200398b9060078301906020870190620046df565b50620039998660016200401f565b6001600160401b03811115620039b357620039b36200495e565b604051908082528060200260200182016040528015620039dd578160200160208202803683370190505b508051620039f6916009840191602090910190620046a1565b5060088101805460ff19166001908117909155600c5462003a17916200401f565b600c5581600080516020620061d6833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462003af592849262003aee928790811062003ad45762003ad4620057db565b90600052602060002001546200402d90919063ffffffff16565b906200401f565b600084815260156020526040902060090180548490811062003b1b5762003b1b620057db565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003b82856001600160a01b031660009081526012602052604090206001015490565b101562003bb7576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003cda57600062003c2d62003c236008543a6200404990919063ffffffff16565b600754906200347d565b905080471015801562003c3f5750333b155b1562003cd857604051600090339083908381818185875af1925050503d806000811462003c89576040519150601f19603f3d011682016040523d82523d6000602084013e62003c8e565b606091505b5050905080620015825760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000ed0565b505b50505050565b600080600062003cf1858562004061565b91509150620027a681620040d7565b60175462010000900460ff168062003d205750601754610100900460ff16155b62003d3f5760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562003d65576017805462ffff001916620101001790555b62003d6f620042aa565b62003d7962004324565b80156200335f576017805462ff00001916905550565b60175462010000900460ff168062003daf5750601754610100900460ff16155b62003dce5760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562003df4576017805462ffff001916620101001790555b6001600160a01b038c1662003e5b5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000ed0565b60008b1162003e7e5760405162461bcd60e51b815260040162000ed09062005516565b8a83101562003ea15760405162461bcd60e51b815260040162000ed09062005565565b6000891162003ec45760405162461bcd60e51b815260040162000ed090620055c2565b865162003ed99060029060208a0190620046df565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062003f08906200475b565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562003f3c573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001925576017805462ff000019169055505050505050505050505050565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008262004016858462004394565b14949350505050565b6000620034768284620059e8565b600062003476828462005a03565b600062003476828462005a1d565b60008183106200405a578162003476565b5090919050565b6000808251604114156200409c5760208301516040840151606085015160001a6200408f8782858562004441565b9450945050505062001017565b825160401415620040ca5760208301516040840151620040be86838362004536565b93509350505062001017565b5060009050600262001017565b6000816004811115620040ee57620040ee62004d68565b1415620040f85750565b60018160048111156200410f576200410f62004d68565b14156200415f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000ed0565b600281600481111562004176576200417662004d68565b1415620041c65760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000ed0565b6003816004811115620041dd57620041dd62004d68565b1415620042385760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000ed0565b60048160048111156200424f576200424f62004d68565b14156200335f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000ed0565b60175462010000900460ff1680620042ca5750601754610100900460ff16155b620042e95760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562003d79576017805462ffff0019166201010017905580156200335f576017805462ff00001916905550565b60175462010000900460ff1680620043445750601754610100900460ff16155b620043635760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562004389576017805462ffff001916620101001790555b62003d793362003fb5565b600081815b8451811015620027a6576000858281518110620043ba57620043ba620057db565b60200260200101519050808311620043fe5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506200442b565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b5080620044388162005807565b91505062004399565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156200447a57506000905060036200452d565b8460ff16601b141580156200449357508460ff16601c14155b15620044a657506000905060046200452d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015620044fb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662004526576000600192509250506200452d565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620045598782888562004441565b935093505050935093915050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115620045ca57620045ca62004d68565b8152602001606081525090565b8280548282559060005260206000209081019282156200462f579160200282015b828111156200462f57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620045f8565b506200463d92915062004769565b5090565b82805482825590600052602060002090810192821562004693579160200282015b8281111562004693578251805162004682918491602090910190620046df565b509160200191906001019062004662565b506200463d92915062004780565b8280548282559060005260206000209081019282156200462f579160200282015b828111156200462f578251825591602001919060010190620046c2565b828054620046ed90620054d9565b90600052602060002090601f0160209004810192826200471157600085556200462f565b82601f106200472c57805160ff19168380011785556200462f565b828001600101855582156200462f57918201828111156200462f578251825591602001919060010190620046c2565b6107a18062005a3583390190565b5b808211156200463d57600081556001016200476a565b808211156200463d576000620047978282620047a1565b5060010162004780565b508054620047af90620054d9565b6000825580601f10620047c0575050565b601f0160209004906000526020600020908101906200335f919062004769565b6020808252825182820181905260009190848201906040850190845b818110156200481a57835183529284019291840191600101620047fc565b50909695505050505050565b80356001600160a01b03811681146200483e57600080fd5b919050565b6000602082840312156200485657600080fd5b620034768262004826565b6000815180845260005b8181101562004889576020818501810151868301820152016200486b565b818111156200489c576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062003476602083018462004861565b6000806000806000806000806000806101408b8d031215620048e757600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200494357600080fd5b82359150620049556020840162004826565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156200499c576200499c6200495e565b6040525050565b60006001600160401b03821115620049bf57620049bf6200495e565b5060051b60200190565b600082601f830112620049db57600080fd5b81356020620049ea82620049a3565b604051620049f9828262004974565b83815260059390931b850182019282810191508684111562004a1a57600080fd5b8286015b8481101562004a405762004a328162004826565b835291830191830162004a1e565b509695505050505050565b600082601f83011262004a5d57600080fd5b81356001600160401b0381111562004a795762004a796200495e565b60405162004a92601f8301601f19166020018262004974565b81815284602083860101111562004aa857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011262004ad757600080fd5b8135602062004ae682620049a3565b60405162004af5828262004974565b83815260059390931b850182019282810191508684111562004b1657600080fd5b8286015b8481101562004a405780356001600160401b0381111562004b3b5760008081fd5b62004b4b8986838b010162004a4b565b84525091830191830162004b1a565b600082601f83011262004b6c57600080fd5b8135602062004b7b82620049a3565b60405162004b8a828262004974565b83815260059390931b850182019282810191508684111562004bab57600080fd5b8286015b8481101562004a40578035835291830191830162004baf565b60008060008060008060c0878903121562004be257600080fd5b86356001600160401b038082111562004bfa57600080fd5b62004c088a838b01620049c9565b9750602089013591508082111562004c1f57600080fd5b62004c2d8a838b0162004ac5565b9650604089013591508082111562004c4457600080fd5b62004c528a838b0162004b5a565b955060608901359450608089013591508082111562004c7057600080fd5b62004c7e8a838b0162004a4b565b935060a089013591508082111562004c9557600080fd5b5062004ca489828a0162004a4b565b9150509295509295509295565b60008060006060848603121562004cc757600080fd5b505081359360208301359350604090920135919050565b60006020828403121562004cf157600080fd5b5035919050565b600080600080600060a0868803121562004d1157600080fd5b85359450602086013593506040860135925062004d316060870162004826565b915060808601356001600160401b0381111562004d4d57600080fd5b62004d5b8882890162004a4b565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6005811062004d9d57634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062004dd060c083018662004861565b828103608084015262004de4818662004861565b91505062004df660a083018462004d7e565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562004e2457600080fd5b62004e2f8c62004826565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b0381111562004e6757600080fd5b62004e758e828f0162004a4b565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062004ea56101408d0162004826565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b8381101562004ef25781516001600160a01b03168752958201959082019060010162004ecb565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b8581101562004f4957828403895262004f3684835162004861565b9885019893509084019060010162004f1b565b5091979650505050505050565b600081518084526020808501945080840160005b8381101562004ef25781518752958201959082019060010162004f6a565b6020815262004fa36020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015262004fd761016085018362004eb7565b91506080850151601f19808685030160a087015262004ff7848362004efd565b935060a08701519150808685030160c087015262005016848362004f56565b935060c08701519150808685030160e087015262005035848362004861565b935060e0870151915061010081878603018188015262005056858462004861565b945080880151925050610120620050708188018462004d7e565b8701518685039091018387015290506200508b838262004f56565b9695505050505050565b600080600060608486031215620050ab57600080fd5b83356001600160401b0380821115620050c357600080fd5b620050d18783880162004b5a565b94506020860135915080821115620050e857600080fd5b620050f68783880162004b5a565b935060408601359150808211156200510d57600080fd5b506200511c8682870162004b5a565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200481a57835115158352928401929184019160010162005142565b600080600080600080600060e0888a0312156200517e57600080fd5b87359650620051906020890162004826565b95506040880135945060608801356001600160401b03811115620051b357600080fd5b620051c18a828b0162004b5a565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f830112620051f557600080fd5b813560206200520482620049a3565b60405162005213828262004974565b83815260059390931b85018201928281019150868411156200523457600080fd5b8286015b8481101562004a405780356001600160401b03811115620052595760008081fd5b620052698986838b010162004b5a565b84525091830191830162005238565b600080600080600080600060e0888a0312156200529457600080fd5b87356001600160401b0380821115620052ac57600080fd5b620052ba8b838c0162004b5a565b985060208a0135915080821115620052d157600080fd5b620052df8b838c01620049c9565b975060408a0135915080821115620052f657600080fd5b620053048b838c0162004b5a565b965060608a01359150808211156200531b57600080fd5b620053298b838c01620051e3565b955060808a01359150808211156200534057600080fd5b6200534e8b838c0162004b5a565b945060a08a01359150808211156200536557600080fd5b620053738b838c0162004b5a565b935060c08a01359150808211156200538a57600080fd5b50620053998a828b0162004b5a565b91505092959891949750929550565b60008060008060808587031215620053bf57600080fd5b620053ca8562004826565b966020860135965060408601359560600135945092505050565b600080600060608486031215620053fa57600080fd5b833592506020840135915060408401356001600160401b038111156200541f57600080fd5b6200511c8682870162004b5a565b600080604083850312156200544157600080fd5b82356001600160401b03808211156200545957600080fd5b6200546786838701620049c9565b935060208501359150808211156200547e57600080fd5b506200548d8582860162004b5a565b9150509250929050565b60208152600062003476602083018462004f56565b60008060408385031215620054c057600080fd5b620054cb8362004826565b946020939093013593505050565b600181811c90821680620054ee57607f821691505b602082108114156200551057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6000602082840312156200563257600080fd5b5051919050565b60208082526036908201527f536e617073686f7452657045524332304775696c643a2050726f706f73616c20604082015275195b9919590b0818d85b9b9bdd081899481d9bdd195960521b606082015260800190565b60208082526031908201527f536e617073686f7452657045524332304775696c643a20496e76616c696420766040820152701bdd1a5b99d41bddd95c88185b5bdd5b9d607a1b606082015260800190565b6020808252604c908201527f536e617073686f7452657045524332304775696c643a2043616e6e6f7420636860408201527f616e6765206f7074696f6e20766f7465642c206f6e6c7920696e63726561736560608201526b103b37ba34b733a837bbb2b960a11b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0395861681529390941660208401526001600160e01b03199190911660408301526060820152901515608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200581e576200581e620057f1565b5060010190565b600060033d11156200583f5760046000803e5060005160e01c5b90565b600060443d1015620058515790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156200588157505050505090565b82850191508151818111156200589a5750505050505090565b843d8701016020828501011115620058b55750505050505090565b620058c66020828601018762004974565b509095945050505050565b600080835481600182811c915080831680620058ee57607f831692505b60208084108214156200590f57634e487b7160e01b86526022600452602486fd5b818015620059265760018114620059385762005967565b60ff1986168952848901965062005967565b60008a81526020902060005b868110156200595f5781548b82015290850190830162005944565b505084890196505b509498975050505050505050565b6000602082840312156200598857600080fd5b815180151581146200347657600080fd5b6000816000190483118215151615620059b657620059b6620057f1565b500290565b634e487b7160e01b600052601260045260246000fd5b600082620059e357620059e3620059bb565b500490565b60008219821115620059fe57620059fe620057f1565b500190565b60008282101562005a185762005a18620057f1565b500390565b60008262005a2f5762005a2f620059bb565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220aeef467d4f5bfbde928dffb9645714e3fe83b4c504cf7361da5ec89a8ac731fb64736f6c63430008080033", + "deployedBytecode": "0x608060405260043610620004155760003560e01c80636e27d889116200021b578063ae6192341162000123578063e045035311620000b3578063f4732da61162000081578063f4732da61462000ca7578063f98606a71462000cbf578063f9a92d821462000cd7578063fc0c546a1462000cfc578063fc4e703f1462000d1e57005b8063e04503531462000c0f578063e158080a1462000c27578063f09951981462000c3f578063f2fde38b1462000c8257005b8063bcc3f3bd11620000f1578063bcc3f3bd1462000b97578063c0a4d64d1462000bbc578063c93e01e31462000bd3578063d8c6a6d11462000bea57005b8063ae6192341462000b1e578063b3929aaa1462000b36578063b3b470611462000b5b578063b7c15f8d1462000b8057005b80638da5cb5b11620001ab578063a78d80fc1162000179578063a78d80fc1462000a7e578063a7aeb5571462000a96578063ab6ea06b1462000aae578063ad6c1e341462000ad3578063adf2c7b61462000aea57005b80638da5cb5b1462000a025780638f1803051462000a2257806392b716541462000a39578063a16fe3421462000a5e57005b80638029eff111620001e95780638029eff1146200096d57806386e2712514620009a157806389c98c0614620009c65780638bb8591e14620009dd57005b80636e27d889146200073a578063715018a6146200090d57806371893546146200092557806377027ff4146200095657005b80632d5b17de116200031f5780633f10cf1511620002af5780635bc789d9116200027d5780635bc789d914620008715780635e508c2c146200089357806364fe6ed214620008ab578063671abed714620008c25780636c8b72f614620008f657005b80633f10cf1514620007ed578063430694cf146200080557806354f2f7af146200083957806356891412146200085957005b806332ed5b1211620002ed57806332ed5b12146200075f57806336f8f8d914620007985780633bf353fb14620007bd5780633de39c1114620007d557005b80632d5b17de14620006935780632d757c3e14620006b85780632fd99c0014620006f5578063315a095d146200073a57005b806316bbecde11620003a757806321df0da7116200037557806321df0da714620005d65780632229a0e2146200060a57806322bafdff14620006215780632467ef94146200065257806325c069fc146200066957005b806316bbecde146200056a57806317d7de7c146200058f578063184a0ae914620005a75780631a5007dd14620005bf57005b80630d66808711620003e55780630d66808714620004e3578063123f6d6714620004fb578063130485fe146200052057806313108d74146200054557005b80623a40d0146200041757806301a598a6146200044757806306fdde0314620004955780630a366a6314620004bc575b005b3480156200042457600080fd5b506200042f62000d36565b6040516200043e9190620047e0565b60405180910390f35b3480156200045457600080fd5b506200047f6200046636600462004843565b6012602052600090815260409020805460019091015482565b604080519283526020830191909152016200043e565b348015620004a257600080fd5b50620004ad62000d90565b6040516200043e9190620048b1565b348015620004c957600080fd5b50620004d462000e26565b6040519081526020016200043e565b348015620004f057600080fd5b50620004d4600d5481565b3480156200050857600080fd5b50620004156200051a366004620048c6565b62000e53565b3480156200052d57600080fd5b506200047f6200053f3660046200492f565b62000fec565b3480156200055257600080fd5b50620004d46200056436600462004bc8565b6200101e565b3480156200057757600080fd5b50620004156200058936600462004cb1565b620010d5565b3480156200059c57600080fd5b50620004ad62001206565b348015620005b457600080fd5b50620004d460035481565b348015620005cc57600080fd5b50600a54620004d4565b348015620005e357600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016200043e565b3480156200061757600080fd5b50601654620004d4565b3480156200062e57600080fd5b50620004d46200064036600462004cde565b6000908152607c602052604090205490565b3480156200065f57600080fd5b50600c54620004d4565b3480156200067657600080fd5b5062000680600a81565b60405160ff90911681526020016200043e565b348015620006a057600080fd5b5062000415620006b236600462004cf8565b62001297565b348015620006c557600080fd5b50620004d4620006d736600462004843565b6001600160a01b031660009081526012602052604090206001015490565b3480156200070257600080fd5b50620007296200071436600462004cde565b60136020526000908152604090205460ff1681565b60405190151581526020016200043e565b3480156200074757600080fd5b50620004156200075936600462004cde565b6200158a565b3480156200076c57600080fd5b50620007846200077e36600462004cde565b620015e7565b6040516200043e9695949392919062004da1565b348015620007a557600080fd5b5062000415620007b736600462004e01565b6200174b565b348015620007ca57600080fd5b50620004d4600c5481565b348015620007e257600080fd5b50620004d460085481565b348015620007fa57600080fd5b50620004d460045481565b3480156200081257600080fd5b506200082a6200082436600462004cde565b62001933565b6040516200043e919062004f88565b3480156200084657600080fd5b506011546001600160a01b0316620005f1565b3480156200086657600080fd5b50620004d4600e5481565b3480156200087e57600080fd5b50601154620005f1906001600160a01b031681565b348015620008a057600080fd5b50620004d460055481565b348015620008b857600080fd5b50601054620004d4565b348015620008cf57600080fd5b50620008e7620008e136600462005095565b62001ce6565b6040516200043e919062005126565b3480156200090357600080fd5b50600754620004d4565b3480156200091a57600080fd5b506200041562002157565b3480156200093257600080fd5b50620004d46200094436600462004cde565b607c6020526000908152604090205481565b3480156200096357600080fd5b50600954620004d4565b3480156200097a57600080fd5b50620007296200098c36600462004cde565b60009081526013602052604090205460ff1690565b348015620009ae57600080fd5b5062000415620009c036600462005162565b620021c1565b348015620009d357600080fd5b50600854620004d4565b348015620009ea57600080fd5b5062000415620009fc36600462005278565b62002564565b34801562000a0f57600080fd5b50604a546001600160a01b0316620005f1565b34801562000a2f57600080fd5b50600b54620004d4565b34801562000a4657600080fd5b50620004d462000a58366004620053a8565b62002665565b34801562000a6b57600080fd5b506001546001600160a01b0316620005f1565b34801562000a8b57600080fd5b50620004d4600a5481565b34801562000aa357600080fd5b50620004d4600f5481565b34801562000abb57600080fd5b506200072962000acd366004620053e4565b620026bc565b34801562000ae057600080fd5b50600f54620004d4565b34801562000af757600080fd5b5062000b0f62000b093660046200542d565b620026d3565b6040516200043e919062005497565b34801562000b2b57600080fd5b50620004d4620027ae565b34801562000b4357600080fd5b50620004d462000b5536600462004cde565b620027c8565b34801562000b6857600080fd5b506200041562000b7a36600462004cde565b620027ea565b34801562000b8d57600080fd5b50600454620004d4565b34801562000ba457600080fd5b50620004d462000bb636600462004843565b6200315a565b34801562000bc957600080fd5b50600d54620004d4565b34801562000be057600080fd5b50600354620004d4565b34801562000bf757600080fd5b50620004d462000c0936600462004cde565b620031e2565b34801562000c1c57600080fd5b50620004d460095481565b34801562000c3457600080fd5b50620004d460105481565b34801562000c4c57600080fd5b506200047f62000c5e3660046200492f565b60146020908152600092835260408084209091529082529020805460019091015482565b34801562000c8f57600080fd5b506200041562000ca136600462004843565b62003291565b34801562000cb457600080fd5b50620004d462003362565b34801562000ccc57600080fd5b50620004d460065481565b34801562000ce457600080fd5b50620004d462000cf6366004620054ac565b620033ed565b34801562000d0957600080fd5b50600054620005f1906001600160a01b031681565b34801562000d2b57600080fd5b50620004d460075481565b6060601680548060200260200160405190810160405280929190818152602001828054801562000d8657602002820191906000526020600020905b81548152602001906001019080831162000d71575b5050505050905090565b6002805462000d9f90620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462000dcd90620054d9565b801562000e1e5780601f1062000df25761010080835404028352916020019162000e1e565b820191906000526020600020905b81548152906001019060200180831162000e0057829003601f168201915b505050505081565b600062000e4e61271062000e4760065462000e4062003362565b906200347d565b906200348b565b905090565b33301462000ed95760405162461bcd60e51b815260206004820152604260248201527f45524332304775696c643a204f6e6c792063616c6c61626c652062792045524360448201527f32306775696c6420697473656c66206f72207768656e20696e697469616c697a606482015261195960f21b608482015260a4015b60405180910390fd5b60008a1162000efc5760405162461bcd60e51b815260040162000ed09062005516565b8983101562000f1f5760405162461bcd60e51b815260040162000ed09062005565565b6000881162000f425760405162461bcd60e51b815260040162000ed090620055c2565b6201c90886111562000fbd5760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a20766f7465206761732068617320746f206265206560448201527f7175616c206f72206c6f776572207468616e2031313730303000000000000000606482015260840162000ed0565b600399909955600497909755600595909555600693909355600791909155600855600955600d55600f55601055565b60008281526014602090815260408083206001600160a01b0385168452909152902080546001909101545b9250929050565b6000806200103188888888888862003499565b905060008054906101000a90046001600160a01b03166001600160a01b0316635439ad866040518163ffffffff1660e01b815260040160206040518083038186803b1580156200108057600080fd5b505afa15801562001095573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010bb91906200561f565b6000828152607c6020526040902055979650505050505050565b6000838152601560205260409020600201544210620011085760405162461bcd60e51b815260040162000ed09062005639565b6000838152607c6020526040902054819062001126903390620033ed565b1015620011475760405162461bcd60e51b815260040162000ed0906200568f565b60008381526014602090815260408083203384529091529020541580156200118957506000838152601460209081526040808320338452909152902060010154155b80620011d45750600083815260146020908152604080832033845290915290205482148015620011d45750600083815260146020908152604080832033845290915290206001015481115b620011f35760405162461bcd60e51b815260040162000ed090620056e0565b620012013384848462003a7f565b505050565b6060600280546200121790620054d9565b80601f01602080910402602001604051908101604052809291908181526020018280546200124590620054d9565b801562000d865780601f106200126a5761010080835404028352916020019162000d86565b820191906000526020600020905b8154815290600101906020018083116200127857509395945050505050565b6000858152601560205260409020600201544210620012ca5760405162461bcd60e51b815260040162000ed09062005639565b6000620012da8387878762002665565b60008181526013602052604090205490915060ff16156200134a5760405162461bcd60e51b8152602060048201526024808201527f536e617073686f7452657045524332304775696c643a20416c726561647920766044820152631bdd195960e21b606482015260840162000ed0565b620013ae82620013a7836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9062003ce0565b6001600160a01b0316836001600160a01b0316146200141c5760405162461bcd60e51b815260206004820152602360248201527f536e617073686f7452657045524332304775696c643a2057726f6e67207369676044820152623732b960e91b606482015260840162000ed0565b6000818152601360209081526040808320805460ff19166001179055888352607c909152902054849062001452908590620033ed565b1015801562001485575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620014a45760405162461bcd60e51b815260040162000ed0906200568f565b60008681526014602090815260408083206001600160a01b0387168452909152902054158015620014f8575060008681526014602090815260408083206001600160a01b0387168452909152902060010154155b8062001555575060008681526014602090815260408083206001600160a01b03871684529091529020548514801562001555575060008681526014602090815260408083206001600160a01b038716845290915290206001015484115b620015745760405162461bcd60e51b815260040162000ed090620056e0565b620015828387878762003a7f565b505050505050565b60405162461bcd60e51b815260206004820152602b60248201527f536e617073686f7452657045524332304775696c643a20746f6b656e2076617560448201526a1b1d08191a5cd8589b195960aa1b606482015260840162000ed0565b60156020526000908152604090208054600182015460028301546006840180546001600160a01b039094169492939192916200162390620054d9565b80601f01602080910402602001604051908101604052809291908181526020018280546200165190620054d9565b8015620016a25780601f106200167657610100808354040283529160200191620016a2565b820191906000526020600020905b8154815290600101906020018083116200168457829003601f168201915b505050505090806007018054620016b990620054d9565b80601f0160208091040260200160405190810160405280929190818152602001828054620016e790620054d9565b8015620017385780601f106200170c5761010080835404028352916020019162001738565b820191906000526020600020905b8154815290600101906020018083116200171a57829003601f168201915b5050506008909301549192505060ff1686565b60175462010000900460ff16806200176b5750601754610100900460ff16155b6200178a5760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff16158015620017b0576017805462ffff001916620101001790555b620017ba62003d00565b620017cf8c8c8c8c8c8c8c8c8c8c8c62003d8f565b600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842600060016040518663ffffffff1660e01b81526004016200183c959493929190620057a0565b600060405180830381600087803b1580156200185757600080fd5b505af11580156200186c573d6000803e3d6000fd5b50505050600160009054906101000a90046001600160a01b03166001600160a01b0316636cfe0489308e7f9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba600060016040518663ffffffff1660e01b8152600401620018dd959493929190620057a0565b600060405180830381600087803b158015620018f857600080fd5b505af11580156200190d573d6000803e3d6000fd5b50505050801562001925576017805462ff0000191690555b505050505050505050505050565b6200193d62004567565b60008281526015602090815260409182902082516101408101845281546001600160a01b031681526001820154818401526002820154818501526003820180548551818602810186019096528086529194929360608601939290830182828015620019d257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620019b3575b5050505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101562001ab657838290600052602060002001805462001a2290620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462001a5090620054d9565b801562001aa15780601f1062001a755761010080835404028352916020019162001aa1565b820191906000526020600020905b81548152906001019060200180831162001a8357829003601f168201915b50505050508152602001906001019062001a00565b5050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801562001b0f57602002820191906000526020600020905b81548152602001906001019080831162001afa575b5050505050815260200160068201805462001b2a90620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462001b5890620054d9565b801562001ba95780601f1062001b7d5761010080835404028352916020019162001ba9565b820191906000526020600020905b81548152906001019060200180831162001b8b57829003601f168201915b5050505050815260200160078201805462001bc490620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462001bf290620054d9565b801562001c435780601f1062001c175761010080835404028352916020019162001c43565b820191906000526020600020905b81548152906001019060200180831162001c2557829003601f168201915b5050509183525050600882015460209091019060ff16600481111562001c6d5762001c6d62004d68565b600481111562001c815762001c8162004d68565b81526020016009820180548060200260200160405190810160405280929190818152602001828054801562001cd657602002820191906000526020600020905b81548152602001906001019080831162001cc1575b5050505050815250509050919050565b60608251845114801562001cfb575081518351145b62001d6f5760405162461bcd60e51b815260206004820152603f60248201527f45524332304775696c643a20496e76616c69642070726f706f73616c4964732c60448201527f206f7074696f6e73206f7220766f74696e67506f77657273206c656e67746800606482015260840162000ed0565b60008085516001600160401b0381111562001d8e5762001d8e6200495e565b60405190808252806020026020018201604052801562001db8578160200160208202803683370190505b509050600091505b85518210156200214e57426015600088858151811062001de45762001de4620057db565b6020026020010151815260200190815260200160002060020154101562001e3257600081838151811062001e1c5762001e1c620057db565b9115156020928302919091019091015262002139565b83828151811062001e475762001e47620057db565b602002602001015162001e5a336200315a565b108062001ed757506014600087848151811062001e7b5762001e7b620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206001015484838151811062001ecd5762001ecd620057db565b6020026020010151105b1562001ef457600081838151811062001e1c5762001e1c620057db565b6014600087848151811062001f0d5762001f0d620057db565b60209081029190910181015182528181019290925260409081016000908120338252909252902054158062001f9757506014600087848151811062001f565762001f56620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600101546000145b801562002091575084828151811062001fb45762001fb4620057db565b60200260200101516014600088858151811062001fd55762001fd5620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b031681526020019081526020016000206000015414158015620020915750838281518110620020315762002031620057db565b602002602001015160146000888581518110620020525762002052620057db565b602002602001015181526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060010154115b15620020ae57600081838151811062001e1c5762001e1c620057db565b6001818381518110620020c557620020c5620057db565b6020026020010190151590811515815250506200213933878481518110620020f157620020f1620057db565b60200260200101518785815181106200210e576200210e620057db565b60200260200101518786815181106200212b576200212b620057db565b602002602001015162003a7f565b81620021458162005807565b92505062001dc0565b95945050505050565b604a546001600160a01b03163314620021b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000ed0565b620021bf600062003fb5565b565b6000620021d18785858562002665565b9050858114620022245760405162461bcd60e51b815260206004820152601d60248201527f45524332304775696c643a20496e76616c696420766f74652068617368000000604482015260640162000ed0565b60008181526013602052604090205460ff1615620022855760405162461bcd60e51b815260206004820152601960248201527f45524332304775696c643a20416c726561647920766f74656400000000000000604482015260640162000ed0565b600062002294898888620026bc565b905080620022f15760405162461bcd60e51b8152602060048201526024808201527f45524332304775696c643a20496e76616c6964206d65726b6c652074726565206044820152633632b0b360e11b606482015260840162000ed0565b6000858152601560205260409020600201544210620023675760405162461bcd60e51b815260206004820152602b60248201527f45524332304775696c643a2050726f706f73616c20656e6465642c2063616e6e60448201526a1bdd081899481d9bdd195960aa1b606482015260840162000ed0565b8262002373896200315a565b10158015620023a6575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b620024035760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20496e76616c696420766f74696e67506f77657220604482015265185b5bdd5b9d60d21b606482015260840162000ed0565b60008581526014602090815260408083206001600160a01b038c16845290915290205415801562002457575060008581526014602090815260408083206001600160a01b038c168452909152902060010154155b80620024b4575060008581526014602090815260408083206001600160a01b038c16845290915290205484148015620024b4575060008581526014602090815260408083206001600160a01b038c16845290915290206001015483115b620025325760405162461bcd60e51b815260206004820152604160248201527f45524332304775696c643a2043616e6e6f74206368616e6765206f7074696f6e60448201527f20766f7465642c206f6e6c7920696e63726561736520766f74696e67506f77656064820152603960f91b608482015260a40162000ed0565b6000828152601360205260409020805460ff19166001179055620025598886868662003a7f565b505050505050505050565b60005b87518110156200265b57620026468882815181106200258a576200258a620057db565b6020026020010151888381518110620025a757620025a7620057db565b6020026020010151888481518110620025c457620025c4620057db565b6020026020010151888581518110620025e157620025e1620057db565b6020026020010151888681518110620025fe57620025fe620057db565b60200260200101518887815181106200261b576200261b620057db565b6020026020010151888881518110620026385762002638620057db565b6020026020010151620021c1565b80620026528162005807565b91505062002567565b5050505050505050565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526054810183905260748101829052600090609401604051602081830303815290604052805190602001209050949350505050565b6000620026cb82858562004007565b949350505050565b6060600083516001600160401b03811115620026f357620026f36200495e565b6040519080825280602002602001820160405280156200271d578160200160208202803683370190505b50905060005b8451811015620027a65762002771858281518110620027465762002746620057db565b6020026020010151858381518110620027635762002763620057db565b6020026020010151620033ed565b828281518110620027865762002786620057db565b6020908102919091010152806200279d8162005807565b91505062002723565b509392505050565b600062000e4e61271062000e4760055462000e4062003362565b60168181548110620027d957600080fd5b600091825260209091200154905081565b60175460ff1615620028525760405162461bcd60e51b815260206004820152602a60248201527f4552433230536e617073686f745265703a2050726f706f73616c20756e6465726044820152691032bc32b1baba34b7b760b11b606482015260840162000ed0565b600160008281526015602052604090206008015460ff1660048111156200287d576200287d62004d68565b14620028e05760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c20616c72656160448201526a191e48195e1958dd5d195960aa1b606482015260840162000ed0565b6000818152601560205260409020600201544211620029565760405162461bcd60e51b815260206004820152602b60248201527f4552433230536e617073686f745265703a2050726f706f73616c206861736e2760448201526a1d08195b991959081e595d60aa1b606482015260840162000ed0565b6000818152601560205260408120600901805482919082906200297d576200297d620057db565b600091825260209091200154905060015b60008481526015602052604090206009015481101562002abe57620029b384620031e2565b6000858152601560205260409020600901805483908110620029d957620029d9620057db565b90600052602060002001541015801562002a255750600084815260156020526040902060090180548391908390811062002a175762002a17620057db565b906000526020600020015410155b1562002aa957600084815260156020526040902060090180548391908390811062002a545762002a54620057db565b9060005260206000200154141562002a70576000925062002aa9565b6000848152601560205260409020600901805491935083918290811062002a9b5762002a9b620057db565b906000526020600020015491505b8062002ab58162005807565b9150506200298e565b8262002b0e576000848152601560205260409020600801805460ff191660029081179091558490600080516020620061d6833981519152905b60405190815260200160405180910390a262003141565b600454600085815260156020526040902060020154429162002b3191906200401f565b101562002b70576000848152601560205260409020600801805460ff191660049081179091558490600080516020620061d68339815191529062002af7565b600084815260156020526040812060088101805460ff191660031790556009015462002bbc9062002ba39060016200402d565b600087815260156020526040902060030154906200348b565b905062002bd762002bcf8560016200402d565b82906200347d565b9150600062002be783836200401f565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316633e7a47b26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c3a57600080fd5b505af115801562002c4f573d6000803e3d6000fd5b505050505b808310156200309857600086815260156020526040812060030180548590811062002c835762002c83620057db565b6000918252602090912001546001600160a01b03161480159062002ce35750600086815260156020526040812060040180548590811062002cc85762002cc8620057db565b90600052602060002001805462002cdf90620054d9565b9050115b156200308357600086815260156020526040812060040180548590811062002d0f5762002d0f620057db565b90600052602060002001805462002d2690620054d9565b80601f016020809104026020016040519081016040528092919081815260200182805462002d5490620054d9565b801562002da55780601f1062002d795761010080835404028352916020019162002da5565b820191906000526020600020905b81548152906001019060200180831162002d8757829003601f168201915b50505060208084015160015460008d815260159093526040909220600301805495965090946001600160a01b03909216935063eed47033925030918990811062002df35762002df3620057db565b9060005260206000200160009054906101000a90046001600160a01b031684601560008e81526020019081526020016000206005018a8154811062002e3c5762002e3c620057db565b60009182526020909120015460405160e086901b6001600160e01b031990811682526001600160a01b039586166004830152939094166024850152911660448301526064820152608401600060405180830381600087803b15801562002ea157600080fd5b505af192505050801562002eb3575060015b62002f0f5762002ec262005825565b806308c379a0141562002f03575062002eda62005842565b8062002ee7575062002f05565b8060405162461bcd60e51b815260040162000ed09190620048b1565b505b3d6000803e3d6000fd5b6017805460ff19166001179055600088815260156020526040812060030180548790811062002f425762002f42620057db565b60009182526020808320909101548b83526015909152604090912060050180546001600160a01b03909216918890811062002f815762002f81620057db565b9060005260206000200154601560008c8152602001908152602001600020600401888154811062002fb65762002fb6620057db565b9060005260206000200160405162002fcf9190620058d1565b60006040518083038185875af1925050503d80600081146200300e576040519150601f19603f3d011682016040523d82523d6000602084013e62003013565b606091505b5050905080620030755760405162461bcd60e51b815260206004820152602660248201527f4552433230536e617073686f745265703a2050726f706f73616c2063616c6c2060448201526519985a5b195960d21b606482015260840162000ed0565b50506017805460ff19169055505b826200308f8162005807565b93505062002c54565b60015460405163fb0fde8560e01b81523060048201526001600160a01b039091169063fb0fde8590602401602060405180830381600087803b158015620030de57600080fd5b505af1158015620030f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003119919062005975565b5085600080516020620061d6833981519152600360405190815260200160405180910390a250505b600c54620031519060016200402d565b600c5550505050565b600080546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015620031a157600080fd5b505afa158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc91906200561f565b92915050565b600554600080549091620031dc916127109162000e47916001600160a01b031663981b24d06200321e886000908152607c602052604090205490565b6040518263ffffffff1660e01b81526004016200323d91815260200190565b60206040518083038186803b1580156200325657600080fd5b505afa1580156200326b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e4091906200561f565b604a546001600160a01b03163314620032ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000ed0565b6001600160a01b038116620033545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000ed0565b6200335f8162003fb5565b50565b60008060009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015620033b257600080fd5b505afa158015620033c7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e4e91906200561f565b6000805460405163277166bf60e11b81526001600160a01b0385811660048301526024820185905290911690634ee2cd7e9060440160206040518083038186803b1580156200343b57600080fd5b505afa15801562003450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200347691906200561f565b9392505050565b600062003476828462005999565b6000620034768284620059d1565b6000601054600e541015620035175760405162461bcd60e51b815260206004820152603960248201527f45524332304775696c643a204e6f7420656e6f75676820746f6b656e73206c6f60448201527f636b656420746f2063726561746520612070726f706f73616c00000000000000606482015260840162000ed0565b600f54600b541015620035895760405162461bcd60e51b815260206004820152603360248201527f45524332304775696c643a204e6f7420656e6f756768206d656d6265727320746044820152721bc818dc99585d194818481c1c9bdc1bdcd85b606a1b606482015260840162000ed0565b600954600c5410620035fd5760405162461bcd60e51b815260206004820152603660248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f662061636044820152751d1a5d99481c1c9bdc1bdcd85b1cc81c995858da195960521b606482015260840162000ed0565b6200360762000e26565b62003612336200315a565b1015620036805760405162461bcd60e51b815260206004820152603560248201527f45524332304775696c643a204e6f7420656e6f75676820766f74696e67506f77604482015274195c881d1bc818dc99585d19481c1c9bdc1bdcd85b605a1b606482015260840162000ed0565b8551875114801562003693575084518751145b620036fe5760405162461bcd60e51b815260206004820152603460248201527f45524332304775696c643a2057726f6e67206c656e677468206f6620746f2c2060448201527364617461206f722076616c75652061727261797360601b606482015260840162000ed0565b60008751116200376b5760405162461bcd60e51b815260206004820152603160248201527f45524332304775696c643a20746f2c20646174612076616c7565206172726179604482015270732063616e6e6f7420626520656d70747960781b606482015260840162000ed0565b8651841115801562003788575084516200378690856200403b565b155b620037fc5760405162461bcd60e51b815260206004820152603760248201527f45524332304775696c643a20496e76616c696420746f74616c4f7074696f6e7360448201527f206f72206f7074696f6e2063616c6c73206c656e677468000000000000000000606482015260840162000ed0565b600a841115620038755760405162461bcd60e51b815260206004820152603a60248201527f45524332304775696c643a204d6178696d756d20616d6f756e74206f66206f7060448201527f74696f6e73207065722070726f706f73616c2072656163686564000000000000606482015260840162000ed0565b600a546040516bffffffffffffffffffffffff193360601b1660208201524260348201526054810191909152600090607401604051602081830303815290604052805190602001209050620038d76001600a546200401f90919063ffffffff16565b600a55600081815260156020526040902080546001600160a01b0319163317815542600182018190556003546200390f91906200401f565b600282015588516200392b90600383019060208c0190620045d7565b5087516200394390600483019060208b019062004641565b5086516200395b90600583019060208a0190620046a1565b508451620039739060068301906020880190620046df565b5083516200398b9060078301906020870190620046df565b50620039998660016200401f565b6001600160401b03811115620039b357620039b36200495e565b604051908082528060200260200182016040528015620039dd578160200160208202803683370190505b508051620039f6916009840191602090910190620046a1565b5060088101805460ff19166001908117909155600c5462003a17916200401f565b600c5581600080516020620061d6833981519152600160405190815260200160405180910390a250601680546001810182556000919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901819055979650505050505050565b60008381526014602090815260408083206001600160a01b03881684528252808320600101548684526015909252909120600901805462003af592849262003aee928790811062003ad45762003ad4620057db565b90600052602060002001546200402d90919063ffffffff16565b906200401f565b600084815260156020526040902060090180548490811062003b1b5762003b1b620057db565b60009182526020808320909101929092558481526014825260408082206001600160a01b038816835283528082208581556001018490558582526015909252206002015462003b82856001600160a01b031660009081526012602052604090206001015490565b101562003bb7576000838152601560209081526040808320600201546001600160a01b03881684526012909252909120600101555b604080516001600160a01b038616815260208101839052839185917f583c62f152711bcb1ca6186c1065821ff17a7cbe226dcb559a1c889dcf0d769b910160405180910390a36007541562003cda57600062003c2d62003c236008543a6200404990919063ffffffff16565b600754906200347d565b905080471015801562003c3f5750333b155b1562003cd857604051600090339083908381818185875af1925050503d806000811462003c89576040519150601f19603f3d011682016040523d82523d6000602084013e62003c8e565b606091505b5050905080620015825760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f20726566756e642067617360601b604482015260640162000ed0565b505b50505050565b600080600062003cf1858562004061565b91509150620027a681620040d7565b60175462010000900460ff168062003d205750601754610100900460ff16155b62003d3f5760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562003d65576017805462ffff001916620101001790555b62003d6f620042aa565b62003d7962004324565b80156200335f576017805462ff00001916905550565b60175462010000900460ff168062003daf5750601754610100900460ff16155b62003dce5760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562003df4576017805462ffff001916620101001790555b6001600160a01b038c1662003e5b5760405162461bcd60e51b815260206004820152602660248201527f45524332304775696c643a20746f6b656e2063616e74206265207a65726f206160448201526564647265737360d01b606482015260840162000ed0565b60008b1162003e7e5760405162461bcd60e51b815260040162000ed09062005516565b8a83101562003ea15760405162461bcd60e51b815260040162000ed09062005565565b6000891162003ec45760405162461bcd60e51b815260040162000ed090620055c2565b865162003ed99060029060208a0190620046df565b50600080546001600160a01b0319166001600160a01b038e16908117909155604051309062003f08906200475b565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562003f3c573d6000803e3d6000fd5b50601180546001600160a01b03199081166001600160a01b039384161790915560038d905560048c905560058b905560068a9055600788905560088790556009869055600d85905560018054909116918416919091179055801562001925576017805462ff000019169055505050505050505050505050565b604a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008262004016858462004394565b14949350505050565b6000620034768284620059e8565b600062003476828462005a03565b600062003476828462005a1d565b60008183106200405a578162003476565b5090919050565b6000808251604114156200409c5760208301516040840151606085015160001a6200408f8782858562004441565b9450945050505062001017565b825160401415620040ca5760208301516040840151620040be86838362004536565b93509350505062001017565b5060009050600262001017565b6000816004811115620040ee57620040ee62004d68565b1415620040f85750565b60018160048111156200410f576200410f62004d68565b14156200415f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640162000ed0565b600281600481111562004176576200417662004d68565b1415620041c65760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640162000ed0565b6003816004811115620041dd57620041dd62004d68565b1415620042385760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840162000ed0565b60048160048111156200424f576200424f62004d68565b14156200335f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840162000ed0565b60175462010000900460ff1680620042ca5750601754610100900460ff16155b620042e95760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562003d79576017805462ffff0019166201010017905580156200335f576017805462ff00001916905550565b60175462010000900460ff1680620043445750601754610100900460ff16155b620043635760405162461bcd60e51b815260040162000ed09062005752565b60175462010000900460ff1615801562004389576017805462ffff001916620101001790555b62003d793362003fb5565b600081815b8451811015620027a6576000858281518110620043ba57620043ba620057db565b60200260200101519050808311620043fe5760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506200442b565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b5080620044388162005807565b91505062004399565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156200447a57506000905060036200452d565b8460ff16601b141580156200449357508460ff16601c14155b15620044a657506000905060046200452d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015620044fb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811662004526576000600192509250506200452d565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01620045598782888562004441565b935093505050935093915050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001606081526020016060815260200160608152602001606081526020016060815260200160006004811115620045ca57620045ca62004d68565b8152602001606081525090565b8280548282559060005260206000209081019282156200462f579160200282015b828111156200462f57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620045f8565b506200463d92915062004769565b5090565b82805482825590600052602060002090810192821562004693579160200282015b8281111562004693578251805162004682918491602090910190620046df565b509160200191906001019062004662565b506200463d92915062004780565b8280548282559060005260206000209081019282156200462f579160200282015b828111156200462f578251825591602001919060010190620046c2565b828054620046ed90620054d9565b90600052602060002090601f0160209004810192826200471157600085556200462f565b82601f106200472c57805160ff19168380011785556200462f565b828001600101855582156200462f57918201828111156200462f578251825591602001919060010190620046c2565b6107a18062005a3583390190565b5b808211156200463d57600081556001016200476a565b808211156200463d576000620047978282620047a1565b5060010162004780565b508054620047af90620054d9565b6000825580601f10620047c0575050565b601f0160209004906000526020600020908101906200335f919062004769565b6020808252825182820181905260009190848201906040850190845b818110156200481a57835183529284019291840191600101620047fc565b50909695505050505050565b80356001600160a01b03811681146200483e57600080fd5b919050565b6000602082840312156200485657600080fd5b620034768262004826565b6000815180845260005b8181101562004889576020818501810151868301820152016200486b565b818111156200489c576000602083870101525b50601f01601f19169290920160200192915050565b60208152600062003476602083018462004861565b6000806000806000806000806000806101408b8d031215620048e757600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600080604083850312156200494357600080fd5b82359150620049556020840162004826565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156200499c576200499c6200495e565b6040525050565b60006001600160401b03821115620049bf57620049bf6200495e565b5060051b60200190565b600082601f830112620049db57600080fd5b81356020620049ea82620049a3565b604051620049f9828262004974565b83815260059390931b850182019282810191508684111562004a1a57600080fd5b8286015b8481101562004a405762004a328162004826565b835291830191830162004a1e565b509695505050505050565b600082601f83011262004a5d57600080fd5b81356001600160401b0381111562004a795762004a796200495e565b60405162004a92601f8301601f19166020018262004974565b81815284602083860101111562004aa857600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011262004ad757600080fd5b8135602062004ae682620049a3565b60405162004af5828262004974565b83815260059390931b850182019282810191508684111562004b1657600080fd5b8286015b8481101562004a405780356001600160401b0381111562004b3b5760008081fd5b62004b4b8986838b010162004a4b565b84525091830191830162004b1a565b600082601f83011262004b6c57600080fd5b8135602062004b7b82620049a3565b60405162004b8a828262004974565b83815260059390931b850182019282810191508684111562004bab57600080fd5b8286015b8481101562004a40578035835291830191830162004baf565b60008060008060008060c0878903121562004be257600080fd5b86356001600160401b038082111562004bfa57600080fd5b62004c088a838b01620049c9565b9750602089013591508082111562004c1f57600080fd5b62004c2d8a838b0162004ac5565b9650604089013591508082111562004c4457600080fd5b62004c528a838b0162004b5a565b955060608901359450608089013591508082111562004c7057600080fd5b62004c7e8a838b0162004a4b565b935060a089013591508082111562004c9557600080fd5b5062004ca489828a0162004a4b565b9150509295509295509295565b60008060006060848603121562004cc757600080fd5b505081359360208301359350604090920135919050565b60006020828403121562004cf157600080fd5b5035919050565b600080600080600060a0868803121562004d1157600080fd5b85359450602086013593506040860135925062004d316060870162004826565b915060808601356001600160401b0381111562004d4d57600080fd5b62004d5b8882890162004a4b565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6005811062004d9d57634e487b7160e01b600052602160045260246000fd5b9052565b60018060a01b038716815285602082015284604082015260c06060820152600062004dd060c083018662004861565b828103608084015262004de4818662004861565b91505062004df660a083018462004d7e565b979650505050505050565b60008060008060008060008060008060006101608c8e03121562004e2457600080fd5b62004e2f8c62004826565b9a5060208c0135995060408c0135985060608c0135975060808c0135965060a08c01356001600160401b0381111562004e6757600080fd5b62004e758e828f0162004a4b565b96505060c08c0135945060e08c013593506101008c013592506101208c0135915062004ea56101408d0162004826565b90509295989b509295989b9093969950565b600081518084526020808501945080840160005b8381101562004ef25781516001600160a01b03168752958201959082019060010162004ecb565b509495945050505050565b600081518084526020808501808196508360051b8101915082860160005b8581101562004f4957828403895262004f3684835162004861565b9885019893509084019060010162004f1b565b5091979650505050505050565b600081518084526020808501945080840160005b8381101562004ef25781518752958201959082019060010162004f6a565b6020815262004fa36020820183516001600160a01b03169052565b60208201516040820152604082015160608201526000606083015161014080608085015262004fd761016085018362004eb7565b91506080850151601f19808685030160a087015262004ff7848362004efd565b935060a08701519150808685030160c087015262005016848362004f56565b935060c08701519150808685030160e087015262005035848362004861565b935060e0870151915061010081878603018188015262005056858462004861565b945080880151925050610120620050708188018462004d7e565b8701518685039091018387015290506200508b838262004f56565b9695505050505050565b600080600060608486031215620050ab57600080fd5b83356001600160401b0380821115620050c357600080fd5b620050d18783880162004b5a565b94506020860135915080821115620050e857600080fd5b620050f68783880162004b5a565b935060408601359150808211156200510d57600080fd5b506200511c8682870162004b5a565b9150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156200481a57835115158352928401929184019160010162005142565b600080600080600080600060e0888a0312156200517e57600080fd5b87359650620051906020890162004826565b95506040880135945060608801356001600160401b03811115620051b357600080fd5b620051c18a828b0162004b5a565b979a969950949760808101359660a0820135965060c090910135945092505050565b600082601f830112620051f557600080fd5b813560206200520482620049a3565b60405162005213828262004974565b83815260059390931b85018201928281019150868411156200523457600080fd5b8286015b8481101562004a405780356001600160401b03811115620052595760008081fd5b620052698986838b010162004b5a565b84525091830191830162005238565b600080600080600080600060e0888a0312156200529457600080fd5b87356001600160401b0380821115620052ac57600080fd5b620052ba8b838c0162004b5a565b985060208a0135915080821115620052d157600080fd5b620052df8b838c01620049c9565b975060408a0135915080821115620052f657600080fd5b620053048b838c0162004b5a565b965060608a01359150808211156200531b57600080fd5b620053298b838c01620051e3565b955060808a01359150808211156200534057600080fd5b6200534e8b838c0162004b5a565b945060a08a01359150808211156200536557600080fd5b620053738b838c0162004b5a565b935060c08a01359150808211156200538a57600080fd5b50620053998a828b0162004b5a565b91505092959891949750929550565b60008060008060808587031215620053bf57600080fd5b620053ca8562004826565b966020860135965060408601359560600135945092505050565b600080600060608486031215620053fa57600080fd5b833592506020840135915060408401356001600160401b038111156200541f57600080fd5b6200511c8682870162004b5a565b600080604083850312156200544157600080fd5b82356001600160401b03808211156200545957600080fd5b6200546786838701620049c9565b935060208501359150808211156200547e57600080fd5b506200548d8582860162004b5a565b9150509250929050565b60208152600062003476602083018462004f56565b60008060408385031215620054c057600080fd5b620054cb8362004826565b946020939093013593505050565b600181811c90821680620054ee57607f821691505b602082108114156200551057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602f908201527f45524332304775696c643a2070726f706f73616c2074696d652068617320746f60408201526e0206265206d6f7265207468616e203608c1b606082015260800190565b6020808252603e908201527f45524332304775696c643a206c6f636b54696d652068617320746f206265206860408201527f6967686572206f7220657175616c20746f2070726f706f73616c54696d650000606082015260800190565b6020808252603c908201527f45524332304775696c643a20766f74696e6720706f77657220666f722065786560408201527f637574696f6e2068617320746f206265206d6f7265207468616e203000000000606082015260800190565b6000602082840312156200563257600080fd5b5051919050565b60208082526036908201527f536e617073686f7452657045524332304775696c643a2050726f706f73616c20604082015275195b9919590b0818d85b9b9bdd081899481d9bdd195960521b606082015260800190565b60208082526031908201527f536e617073686f7452657045524332304775696c643a20496e76616c696420766040820152701bdd1a5b99d41bddd95c88185b5bdd5b9d607a1b606082015260800190565b6020808252604c908201527f536e617073686f7452657045524332304775696c643a2043616e6e6f7420636860408201527f616e6765206f7074696f6e20766f7465642c206f6e6c7920696e63726561736560608201526b103b37ba34b733a837bbb2b960a11b608082015260a00190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0395861681529390941660208401526001600160e01b03199190911660408301526060820152901515608082015260a00190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200581e576200581e620057f1565b5060010190565b600060033d11156200583f5760046000803e5060005160e01c5b90565b600060443d1015620058515790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156200588157505050505090565b82850191508151818111156200589a5750505050505090565b843d8701016020828501011115620058b55750505050505090565b620058c66020828601018762004974565b509095945050505050565b600080835481600182811c915080831680620058ee57607f831692505b60208084108214156200590f57634e487b7160e01b86526022600452602486fd5b818015620059265760018114620059385762005967565b60ff1986168952848901965062005967565b60008a81526020902060005b868110156200595f5781548b82015290850190830162005944565b505084890196505b509498975050505050505050565b6000602082840312156200598857600080fd5b815180151581146200347657600080fd5b6000816000190483118215151615620059b657620059b6620057f1565b500290565b634e487b7160e01b600052601260045260246000fd5b600082620059e357620059e3620059bb565b500490565b60008219821115620059fe57620059fe620057f1565b500190565b60008282101562005a185762005a18620057f1565b500390565b60008262005a2f5762005a2f620059bb565b50069056fe608060405234801561001057600080fd5b506040516107a13803806107a183398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6106e3806100be6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636e9960c31161005b5780636e9960c3146100ef578063f3fef3a314610100578063f851a44014610113578063fc0c546a1461012657600080fd5b806321df0da71461008257806327e235e3146100ac57806347e7ef24146100da575b600080fd5b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100cc6100ba366004610586565b60026020526000908152604090205481565b6040519081526020016100a3565b6100ed6100e83660046105a1565b610139565b005b6001546001600160a01b031661008f565b6100ed61010e3660046105a1565b61020a565b60015461008f906001600160a01b031681565b60005461008f906001600160a01b031681565b6001546001600160a01b031633146101af5760405162461bcd60e51b815260206004820152602e60248201527f546f6b656e5661756c743a204465706f736974206d7573742062652073656e7460448201526d103a343937bab3b41030b236b4b760911b60648201526084015b60405180910390fd5b6000546101c7906001600160a01b031683308461025b565b6001600160a01b0382166000908152600260205260409020546101ea90826102cc565b6001600160a01b0390921660009081526002602052604090209190915550565b6001546001600160a01b0316331461022157600080fd5b600054610238906001600160a01b031683836102df565b6001600160a01b0382166000908152600260205260409020546101ea9082610314565b6040516001600160a01b03808516602483015283166044820152606481018290526102c69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610320565b50505050565b60006102d882846105e1565b9392505050565b6040516001600160a01b03831660248201526044810182905261030f90849063a9059cbb60e01b9060640161028f565b505050565b60006102d882846105f9565b6000610375826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103f29092919063ffffffff16565b80519091501561030f57808060200190518101906103939190610610565b61030f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101a6565b60606104018484600085610409565b949350505050565b60608247101561046a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101a6565b843b6104b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a6565b600080866001600160a01b031685876040516104d4919061065e565b60006040518083038185875af1925050503d8060008114610511576040519150601f19603f3d011682016040523d82523d6000602084013e610516565b606091505b5091509150610526828286610531565b979650505050505050565b606083156105405750816102d8565b8251156105505782518084602001fd5b8160405162461bcd60e51b81526004016101a6919061067a565b80356001600160a01b038116811461058157600080fd5b919050565b60006020828403121561059857600080fd5b6102d88261056a565b600080604083850312156105b457600080fd5b6105bd8361056a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156105f4576105f46105cb565b500190565b60008282101561060b5761060b6105cb565b500390565b60006020828403121561062257600080fd5b815180151581146102d857600080fd5b60005b8381101561064d578181015183820152602001610635565b838111156102c65750506000910152565b60008251610670818460208701610632565b9190910192915050565b6020815260008251806020840152610699816040850160208701610632565b601f01601f1916919091016040019291505056fea2646970667358221220f83df9be484204d29c000a118187aee7d3ca7efcb094476e4ad893327bb967b564736f6c63430008080033fee62a9eec0be50eb061c711990ef0f1e17b40ea131d9347b0468acdaf8bf243a2646970667358221220aeef467d4f5bfbde928dffb9645714e3fe83b4c504cf7361da5ec89a8ac731fb64736f6c63430008080033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/src/theme/dark.json b/src/theme/dark.json index 5fb217953..bf670ce64 100644 --- a/src/theme/dark.json +++ b/src/theme/dark.json @@ -22,6 +22,7 @@ "bg2": "#282B30", "bg3": "#26282D", "bg4": "#181B1B", + "bg5": "#3C3C3C", "border1": "#303338", "border2": "#D17A06", @@ -29,14 +30,26 @@ "votes": { "0": "#E75C5C", - "1": "#295FF4", - "2": "#BDC0C7", - "3": "#4cd964", - "4": "#f1c201", - "5": "#11e0ff", - "6": "#ff00ac", - "7": "#bb86fc", - "8": "#ff7200", + "1": "#00f5f5", + "2": "#66a3ff", + "3": "#ad93fb", + "4": "#ff6bf8", + "5": "#ff9d70", + "6": "#ffce5e", + "7": "#10ef99", + "8": "#c9e78b", + "9": "#3cae92" + }, + "votesLight": { + "0": "#E75C5C", + "1": "#8fffff", + "2": "#99c2ff", + "3": "#d2c4fd", + "4": "#ff9efa", + "5": "#ffc0a3", + "6": "#ffe78f", + "7": "#70f5c2", + "8": "#c9e78b", "9": "#3cae92" }, diff --git a/src/types/types.guilds.d.ts b/src/types/types.guilds.d.ts index 61d415984..87979e422 100644 --- a/src/types/types.guilds.d.ts +++ b/src/types/types.guilds.d.ts @@ -17,6 +17,7 @@ export interface Proposal { contractState: ContractState; totalVotes: BigNumber[]; votesOfVoter?: UseProposalVotesOfVoterReturn; + metadata?: ProposalMetadata; } export type InitialProposal = Partial & { diff --git a/yarn.lock b/yarn.lock index 739683dcd..c8e3d1d28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -78,10 +78,10 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" - integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" + integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== "@babel/core@7.12.9": version "7.12.9" @@ -106,20 +106,20 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.0", "@babel/core@^7.8.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" - integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" + integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" + "@babel/generator" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" "@babel/helper-module-transforms" "^7.19.0" "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.0" + "@babel/parser" "^7.19.3" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/traverse" "^7.19.3" + "@babel/types" "^7.19.3" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -127,20 +127,20 @@ semver "^6.3.0" "@babel/eslint-parser@^7.16.3": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz#255a63796819a97b7578751bb08ab9f2a375a031" - integrity sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ== + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4" + integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ== dependencies: - eslint-scope "^5.1.1" + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.0" -"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.19.0", "@babel/generator@^7.7.2": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" - integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== +"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.19.3", "@babel/generator@^7.7.2": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" + integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== dependencies: - "@babel/types" "^7.19.0" + "@babel/types" "^7.19.3" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -159,14 +159,14 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0" - integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" + integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== dependencies: - "@babel/compat-data" "^7.19.0" + "@babel/compat-data" "^7.19.3" "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" + browserslist "^4.21.3" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.19.0": @@ -204,10 +204,10 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-define-polyfill-provider@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" - integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== dependencies: "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" @@ -298,16 +298,16 @@ "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" - integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9", "@babel/helper-replace-supers@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" + integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-member-expression-to-functions" "^7.18.9" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/traverse" "^7.19.1" + "@babel/types" "^7.19.0" "@babel/helper-simple-access@^7.18.6": version "7.18.6" @@ -335,10 +335,10 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== -"@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== +"@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6": version "7.18.6" @@ -373,10 +373,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" - integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" + integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -394,10 +394,10 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1" - integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== +"@babel/plugin-proposal-async-generator-functions@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" + integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0" @@ -422,13 +422,13 @@ "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-decorators@^7.12.12", "@babel/plugin-proposal-decorators@^7.16.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.19.0.tgz#5a3bc0699ee34117c73c960a5396ffce104c4eaa" - integrity sha512-Bo5nOSjiJccjv00+BrDkmfeBLBi2B0qe8ygj24KdL8VdwtZz+710NCwehF+x/Ng+0mkHx5za2eAofmvVFLF4Fg== + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.19.3.tgz#c1977e4902a18cdf9051bf7bf08d97db2fd8b110" + integrity sha512-MbgXtNXqo7RTKYIXVchVJGPvaVufQH3pxvQyfbGvNw1DObIhph+PesYXJTcd8J4DdWibvf6Z2eanOyItX8WnJg== dependencies: "@babel/helper-create-class-features-plugin" "^7.19.0" "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-replace-supers" "^7.19.1" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/plugin-syntax-decorators" "^7.19.0" @@ -870,10 +870,10 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz#58c52422e4f91a381727faed7d513c89d7f41ada" - integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ== +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" + integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.19.0" "@babel/helper-plugin-utils" "^7.19.0" @@ -963,15 +963,15 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-runtime@^7.16.0", "@babel/plugin-transform-runtime@^7.16.4", "@babel/plugin-transform-runtime@^7.5.5": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz#37d14d1fa810a368fd635d4d1476c0154144a96f" - integrity sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ== + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz#a3df2d7312eea624c7889a2dcd37fd1dfd25b2c6" + integrity sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA== dependencies: "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" + "@babel/helper-plugin-utils" "^7.19.0" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.18.6": @@ -1011,9 +1011,9 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typescript@^7.18.6": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.0.tgz#50c3a68ec8efd5e040bde2cd764e8e16bc0cbeaf" - integrity sha512-DOOIywxPpkQHXijXv+s9MDAyZcLp12oYRl3CMWZ6u7TjSoCBq/KqHR/nNFR3+i2xqheZxoF0H2XyL7B6xeSRuA== + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz#4f1db1e0fe278b42ddbc19ec2f6cd2f8262e35d6" + integrity sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w== dependencies: "@babel/helper-create-class-features-plugin" "^7.19.0" "@babel/helper-plugin-utils" "^7.19.0" @@ -1035,17 +1035,17 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.11", "@babel/preset-env@^7.16.0", "@babel/preset-env@^7.16.4", "@babel/preset-env@^7.8.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7" - integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ== + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.3.tgz#52cd19abaecb3f176a4ff9cc5e15b7bf06bec754" + integrity sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w== dependencies: - "@babel/compat-data" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" + "@babel/compat-data" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.0" + "@babel/plugin-proposal-async-generator-functions" "^7.19.1" "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6" @@ -1093,7 +1093,7 @@ "@babel/plugin-transform-modules-commonjs" "^7.18.6" "@babel/plugin-transform-modules-systemjs" "^7.19.0" "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" "@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6" "@babel/plugin-transform-parameters" "^7.18.8" @@ -1108,11 +1108,11 @@ "@babel/plugin-transform-unicode-escapes" "^7.18.10" "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" - core-js-compat "^3.22.1" + "@babel/types" "^7.19.3" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" semver "^6.3.0" "@babel/preset-flow@^7.12.1": @@ -1168,11 +1168,11 @@ source-map-support "^0.5.16" "@babel/runtime-corejs3@^7.10.2": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.19.0.tgz#0df75cb8e5ecba3ca9e658898694e5326d52397f" - integrity sha512-JyXXoCu1N8GLuKc2ii8y5RGma5FMpFeO2nAQIe0Yzrbq+rQnN+sFj47auLblR5ka6aHNGPDgv8G/iI2Grb0ldQ== + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.19.1.tgz#f0cbbe7edda7c4109cd253bb1dee99aba4594ad9" + integrity sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g== dependencies: - core-js-pure "^3.20.2" + core-js-pure "^3.25.1" regenerator-runtime "^0.13.4" "@babel/runtime@7.11.2": @@ -1212,29 +1212,29 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.2": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" - integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== +"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.2": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" + integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" + "@babel/generator" "^7.19.3" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/parser" "^7.19.3" + "@babel/types" "^7.19.3" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" - integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== +"@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" + integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== dependencies: "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" "@base2/pretty-print-object@1.0.1": @@ -1248,46 +1248,29 @@ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@ceramicnetwork/blockchain-utils-linking@^2.0.8": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/blockchain-utils-linking/-/blockchain-utils-linking-2.0.11.tgz#e83223783c27e54a03d06444796c04a4f4bc425d" - integrity sha512-vyatJmevt5zgKJoo5Evdq3CLtQsj7k0nZmjN5mNMDhw5kMmP3AFkcJYTXi3/3TMNUUMyj6zUweDWQdiyHIaa9w== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/blockchain-utils-linking/-/blockchain-utils-linking-2.1.0.tgz#4571b577f50a8983633ef37b371a353396e28c6f" + integrity sha512-T6jUnn1VzjG5U9B/W2clyDRtgydClw/3NIg3/JMLAajyMryrr6U767yuvLIZSV68mjw7tMvHTRy8OG5VtnIg1w== dependencies: - "@ceramicnetwork/streamid" "^2.3.3" + "@ceramicnetwork/streamid" "^2.3.5" + "@didtools/cacao" "^1.0.0" "@stablelib/random" "^1.0.1" "@stablelib/sha256" "^1.0.1" caip "~1.1.0" - ceramic-cacao "^1.1.1" near-api-js "^0.44.2" uint8arrays "^3.0.0" -"@ceramicnetwork/common@^2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/common/-/common-2.6.0.tgz#926e055cb3f768f7ef2d4c5b9db5cd096cb7d7a4" - integrity sha512-8xnujYalkOB5bzTVSDjyibYWOHlc5Yc8VOhauwWQWXJeHr+FiiLHdQ6O5/Hxhw+cpwf2CfEALLc9EDKvoZAlpg== - dependencies: - "@ceramicnetwork/streamid" "^2.3.3" - "@stablelib/random" "^1.0.1" - caip "~1.1.0" - ceramic-cacao "^1.1.1" - cross-fetch "^3.1.4" - flat "^5.0.2" - it-first "^1.0.7" - jet-logger "1.2.2" - lodash.clonedeep "^4.5.0" - logfmt "^1.3.2" - multiformats "^9.5.8" - rxjs "^7.5.2" - uint8arrays "^3.0.0" - -"@ceramicnetwork/common@^2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/common/-/common-2.7.0.tgz#5cbcc0673ed90cb741d82da5d626d93048d1acb8" - integrity sha512-tZqo6si2eSwdqBWZsC8ZvX65DpENa/w3BdFv8y7xznEyr6MKSZEsRmH+i3TgpDv9i9YbX0CEqeGpS5O5RPKu8g== +"@ceramicnetwork/common@^2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/common/-/common-2.8.0.tgz#605c49be3b32e1f88afbff3090a72c9cba43491f" + integrity sha512-h1XiTlDwWI18AMi8oGRJJ5PZFvVTz9wGPu4iLKuh6dqafB5uDQ35BSKiHL5ISKkoz4bvFXLeX3i6UEYv8+K17A== dependencies: - "@ceramicnetwork/streamid" "^2.3.4" + "@ceramicnetwork/streamid" "^2.3.5" + "@didtools/cacao" "^1.0.0" + "@didtools/pkh-ethereum" "^0.0.1" + "@didtools/pkh-solana" "^0.0.1" "@stablelib/random" "^1.0.1" caip "~1.1.0" - ceramic-cacao "^1.4.0" cross-fetch "^3.1.4" flat "^5.0.2" it-first "^1.0.7" @@ -1299,49 +1282,49 @@ uint8arrays "^3.0.0" "@ceramicnetwork/http-client@^2.3.1": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/http-client/-/http-client-2.3.4.tgz#8610db5da11fab28f659289b6f54b654c8dbffb0" - integrity sha512-ctqGj9T+MGrjgdqatyk918FWBsRLc9R8brsUHJlqLD5XYki2Xh+jd5PFE7Ry1HLDIA60Nminli7FLSUY8zTzbw== - dependencies: - "@ceramicnetwork/common" "^2.6.0" - "@ceramicnetwork/stream-caip10-link" "^2.2.3" - "@ceramicnetwork/stream-model" "^0.5.0" - "@ceramicnetwork/stream-model-instance" "^0.4.1" - "@ceramicnetwork/stream-tile" "^2.4.3" - "@ceramicnetwork/streamid" "^2.3.3" + version "2.5.0" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/http-client/-/http-client-2.5.0.tgz#9dd22cf300a378a71336d6b35d88ce32000b8cbe" + integrity sha512-4zirXcV13wAXYPlruRvNcU1HYixb994xYKOntU8h4Ppd661vsAC0oz2LFKH31OfdiEUj6ytFgY6dG285l7VcDQ== + dependencies: + "@ceramicnetwork/common" "^2.8.0" + "@ceramicnetwork/stream-caip10-link" "^2.3.0" + "@ceramicnetwork/stream-model" "^0.6.1" + "@ceramicnetwork/stream-model-instance" "^0.4.3" + "@ceramicnetwork/stream-tile" "^2.4.5" + "@ceramicnetwork/streamid" "^2.3.5" query-string "^7.1.0" rxjs "^7.5.2" -"@ceramicnetwork/stream-caip10-link@^2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-caip10-link/-/stream-caip10-link-2.2.3.tgz#1bfaba15310e55b4bc15feea5090be743f9ea515" - integrity sha512-IVt4bqLhcN7DyADTrZyTkHNEPCxUZKHUAaVQN3zxqV0hEgCYX4aMgZ+dP0t2cePZ9KKXyqT86Bu8AZ5Iw3/1zA== +"@ceramicnetwork/stream-caip10-link@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-caip10-link/-/stream-caip10-link-2.3.0.tgz#d29d75aeac675d3d1837d83d34b31739e05e07c9" + integrity sha512-srMgHMqEz6rUSJxlwnvoEk9x6qc70S02c4+T6NWKRXEjDnnwBxdKb/Ag9xNJEblYgEl0TMPvpXQbv8uTFjceNQ== dependencies: - "@ceramicnetwork/common" "^2.6.0" - "@ceramicnetwork/streamid" "^2.3.3" + "@ceramicnetwork/common" "^2.8.0" + "@ceramicnetwork/streamid" "^2.3.5" caip "~1.1.0" did-resolver "^3.1.5" lodash.clonedeep "^4.5.0" -"@ceramicnetwork/stream-model-instance@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-model-instance/-/stream-model-instance-0.4.1.tgz#b8a608167aac2c2175449929fbaed86afe58677b" - integrity sha512-OpoGjQC1MnnZu/dhX224LF17WbRQExjRORh1O30mpKI7LDkOhxGntrbMw4I2MRsuA6JnsNy05GBa9n8/0P/rng== +"@ceramicnetwork/stream-model-instance@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-model-instance/-/stream-model-instance-0.4.3.tgz#8251d9bda46a4abf718b673ef8b96ba818a67fa6" + integrity sha512-tOMkP8t4ShEdpQEFyQUgL8bTscozfl1+9lb5B/ubcbCo6xWPeUj39ni4MB88OyuhocgPXFXnbU1Y3+qfNylr1A== dependencies: - "@ceramicnetwork/common" "^2.6.0" - "@ceramicnetwork/streamid" "^2.3.3" + "@ceramicnetwork/common" "^2.8.0" + "@ceramicnetwork/streamid" "^2.3.5" "@ipld/dag-cbor" "^7.0.0" "@stablelib/random" "^1.0.1" fast-json-patch "^3.1.0" uint8arrays "^3.0.0" -"@ceramicnetwork/stream-model@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-model/-/stream-model-0.5.0.tgz#ac42504b188d793366a2fff8157e7c09731f1b16" - integrity sha512-0B3yDBFyOGWrUa7XuGIqDJF3G2kOREF+6qa1UdDCScoqhvZT8JUlAs89sZcs6gfeGSR/HXeztzYfJGvPvKuMTQ== +"@ceramicnetwork/stream-model@^0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-model/-/stream-model-0.6.1.tgz#389bc11184e81c677f8c62cf2d2d76adc013d0b6" + integrity sha512-WO9mkCFuCN8qNo74OsolS04GeSGyOybSGuG85rE+IAbZDCE1UQZM/PNzKv65AMxhgXyr/haiNQhxbV6EDhAQ7w== dependencies: - "@ceramicnetwork/common" "^2.6.0" - "@ceramicnetwork/streamid" "^2.3.3" + "@ceramicnetwork/common" "^2.8.0" + "@ceramicnetwork/streamid" "^2.3.5" "@ipld/dag-cbor" "^7.0.0" "@stablelib/random" "^1.0.1" fast-json-patch "^3.1.0" @@ -1350,47 +1333,23 @@ multihashes "^4.0.3" uint8arrays "^3.0.0" -"@ceramicnetwork/stream-tile@^2.4.0", "@ceramicnetwork/stream-tile@^2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-tile/-/stream-tile-2.4.3.tgz#72dadebc48ed1fe284a80054774fe6629dd3ab68" - integrity sha512-9b3NPEeh2sFQTpbpLXMP6pXK5maafDicmTMRwipCsB+JZ+bW/Q6xtXtGHq8bqFawmfRR5JVBJzOkqUmZNUu9Pw== - dependencies: - "@ceramicnetwork/common" "^2.6.0" - "@ceramicnetwork/streamid" "^2.3.3" - "@ipld/dag-cbor" "^7.0.0" - "@stablelib/random" "^1.0.1" - fast-json-patch "^3.1.0" - lodash.clonedeep "^4.5.0" - uint8arrays "^3.0.0" - -"@ceramicnetwork/stream-tile@^2.4.4": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-tile/-/stream-tile-2.4.4.tgz#a48f7dc05050cf7032c9eefca83e26857a1fcda3" - integrity sha512-eW4lPfkrN1QldI7cXIWdJTa2bul01iJs2OGyQ5cVEk2KjwjtnwIUgvQL+Kcbm35miMtwf4yFqlI+ct8eYI+pQQ== +"@ceramicnetwork/stream-tile@^2.4.0", "@ceramicnetwork/stream-tile@^2.4.4", "@ceramicnetwork/stream-tile@^2.4.5": + version "2.4.5" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/stream-tile/-/stream-tile-2.4.5.tgz#7bc9c18d91cde5867b5509fbf219e4b7ec90533c" + integrity sha512-aqpo65+ybfi/zvdXy8uaMevhdWbt3fStMwXD2J2GeR9OICXtRxARDOBdolQbzc0pNXv+CwwzoAdvg6J5ZuQgNQ== dependencies: - "@ceramicnetwork/common" "^2.7.0" - "@ceramicnetwork/streamid" "^2.3.4" + "@ceramicnetwork/common" "^2.8.0" + "@ceramicnetwork/streamid" "^2.3.5" "@ipld/dag-cbor" "^7.0.0" "@stablelib/random" "^1.0.1" fast-json-patch "^3.1.0" lodash.clonedeep "^4.5.0" uint8arrays "^3.0.0" -"@ceramicnetwork/streamid@^2.3.3": - version "2.3.3" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/streamid/-/streamid-2.3.3.tgz#9103ced284f410327b507d0eaf0ecb9f9b2b7911" - integrity sha512-YVxc7uGcb97IVQfBo3VHJ8l7ELN6a6Rb6cxKT9Ko7JutPerqBbyZUdsdahLIuNP2wBN8MHR8MpHh/iVbLe81IA== - dependencies: - "@ipld/dag-cbor" "^7.0.0" - multiformats "^9.5.8" - typescript-memoize "^1.1.0" - uint8arrays "^3.0.0" - varint "^6.0.0" - -"@ceramicnetwork/streamid@^2.3.4": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@ceramicnetwork/streamid/-/streamid-2.3.4.tgz#cf294708ff6676e1f75907690479015ad4738d81" - integrity sha512-Obc4DrrCIR+tothxuC8zROCG7AtNIYXEtGqGtu7qV9ka0mDmT6oRyUJjlog5FKWOgY6NPWwbXAyObCA0/oHfiQ== +"@ceramicnetwork/streamid@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@ceramicnetwork/streamid/-/streamid-2.3.5.tgz#0f63586835e5b34d8f1c4bb7dac87e8910553c0b" + integrity sha512-HsAtPoDMRVQWDoNEXvHojlNbI41wmH8MQqaC3NfnEAX6hN9PvHzOBYUxBqZs4Y3jRDqPgTQn1Lb4NG39R5+lAw== dependencies: "@ipld/dag-cbor" "^7.0.0" multiformats "^9.5.8" @@ -1435,9 +1394,9 @@ minimist "^1.2.0" "@coinbase/wallet-sdk@^3.3.0": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.5.2.tgz#106e8b364a5203f6570561b103974677e18c4417" - integrity sha512-Wga/n2709w/+m/YlHviuQx8nl4gr2UkA4HM3OwFZopxvDeZerBYEjL/og7CUbSwplHDl+REIIz0jJfuedVyX5g== + version "3.5.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.5.3.tgz#ffa657cc16f896e08c3e9ac571ca6a37d1f560fd" + integrity sha512-kaGMk9KyiSLPm1+BvCQSc99ku9gn0j+M1+2Beii+4gx/lRVhutlzmn6l+5zTB/n3xri25iTr+SxjMZLlMfW8Hg== dependencies: "@metamask/safe-event-emitter" "2.0.0" "@solana/web3.js" "1.52.0" @@ -1474,10 +1433,10 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== -"@csstools/postcss-cascade-layers@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.6.tgz#a52da13b91fc184a52337b4e938c3d3188e537b0" - integrity sha512-ei4Vh4AJwTCXTNj7uzwduoZDO7nLPksQ0TI7OzUlyFq4P4Uhu6hU7R4AlLimDP/s6D3PQdHmRL4f7UOy370UHA== +"@csstools/postcss-cascade-layers@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" + integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== dependencies: "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" @@ -1731,6 +1690,16 @@ apg-js "^4.1.1" multiformats "^9.5.1" +"@didtools/pkh-ethereum@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@didtools/pkh-ethereum/-/pkh-ethereum-0.0.1.tgz#dc7a9b09b568d74a640ed53fe0cafeabba809aab" + integrity sha512-2hDt1f60WXUNWMVS9S9b0pmXl78ivkVxZJHeyBUkbz7O7To1rHvlgvJ0gFJ3sKVemI1llpClzwd3PEjZfGwiUw== + dependencies: + "@didtools/cacao" "^1.0.0" + "@ethersproject/wallet" "^5.7.0" + "@stablelib/random" "^1.0.2" + caip "^1.1.0" + "@didtools/pkh-ethereum@^0.0.2": version "0.0.2" resolved "https://registry.yarnpkg.com/@didtools/pkh-ethereum/-/pkh-ethereum-0.0.2.tgz#c470660bd9e2e2cacc5b0f1f54e92965e40b4fa9" @@ -1741,6 +1710,16 @@ "@stablelib/random" "^1.0.2" caip "^1.1.0" +"@didtools/pkh-solana@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@didtools/pkh-solana/-/pkh-solana-0.0.1.tgz#019d0bd074e05777bb4144d3b2f5cf015512a541" + integrity sha512-l/rimusjUDl3bEGD+os7YqxyNpY9545e4a+qXeqDxNX2kfndnAa4Oz+GOPSll9Q9sTgnB5DeuOMbmYxzHxNDqw== + dependencies: + "@didtools/cacao" "^1.0.0" + "@stablelib/ed25519" "^1.0.3" + caip "^1.1.0" + uint8arrays "^3.1.0" + "@didtools/pkh-solana@^0.0.2": version "0.0.2" resolved "https://registry.yarnpkg.com/@didtools/pkh-solana/-/pkh-solana-0.0.2.tgz#6776dda625d7aeb9e271abd4ed6550a8681c4a5b" @@ -1946,10 +1925,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@eslint/eslintrc@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" - integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== +"@eslint/eslintrc@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" + integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -2160,10 +2139,10 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@5.7.0", "@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.0.tgz#df72a392f1a63a57f87210515695a31a245845ad" - integrity sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA== +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" @@ -2182,10 +2161,10 @@ dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/providers@5.7.0", "@ethersproject/providers@^5.0.0", "@ethersproject/providers@^5.2.0", "@ethersproject/providers@^5.5.1", "@ethersproject/providers@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.0.tgz#a885cfc7650a64385e7b03ac86fe9c2d4a9c2c63" - integrity sha512-+TTrrINMzZ0aXtlwO/95uhAggKm4USLm1PbeCBR/3XZ7+Oey+3pMyddzZEyRhizHpy1HXV0FRWRMI1O3EGYibA== +"@ethersproject/providers@5.7.1", "@ethersproject/providers@^5.0.0", "@ethersproject/providers@^5.0.10", "@ethersproject/providers@^5.2.0", "@ethersproject/providers@^5.5.1", "@ethersproject/providers@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.1.tgz#b0799b616d5579cd1067a8ebf1fc1ec74c1e122c" + integrity sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ== dependencies: "@ethersproject/abstract-provider" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -2290,7 +2269,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.0.0", "@ethersproject/wallet@^5.2.0", "@ethersproject/wallet@^5.5.0", "@ethersproject/wallet@^5.7.0": +"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.0.0", "@ethersproject/wallet@^5.2.0", "@ethersproject/wallet@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== @@ -2311,10 +2290,10 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@5.7.0", "@ethersproject/web@^5.0.0", "@ethersproject/web@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.0.tgz#40850c05260edad8b54827923bbad23d96aac0bc" - integrity sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA== +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.0.0", "@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== dependencies: "@ethersproject/base64" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -2568,9 +2547,9 @@ integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@grpc/grpc-js@^1.0.0", "@grpc/grpc-js@^1.1.8": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.7.0.tgz#5a96bdbe51cce23faa38a4db6e43595a5c584849" - integrity sha512-wvKxal+40Xx11DXO2q5PfY3UiE25iwTb8SOz6A9IJII/V7d19x2ex0he+GJfVW0JZCaBjCPSjUB0yU9Ecm4WCw== + version "1.7.1" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.7.1.tgz#cfac092e61eac6fe0f80d22943f98e1ba45f02a2" + integrity sha512-GVtMU4oh/TeKkWGzXUEsyZtyvSUIT1z49RtGH1UnEGeL+sLuxKl8QH3KZTlSB329R1sWJmesm5hQ5CxXdYH9dg== dependencies: "@grpc/proto-loader" "^0.7.0" "@types/node" ">=12.12.47" @@ -2584,9 +2563,9 @@ protobufjs "^6.8.6" "@grpc/proto-loader@^0.7.0": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.2.tgz#fa63178853afe1473c50cff89fe572f7c8b20154" - integrity sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA== + version "0.7.3" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.3.tgz#75a6f95b51b85c5078ac7394da93850c32d36bb8" + integrity sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA== dependencies: "@types/long" "^4.0.1" lodash.camelcase "^4.3.0" @@ -2876,10 +2855,10 @@ "@hapi/bourne" "2.x.x" "@hapi/hoek" "9.x.x" -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== +"@humanwhocodes/config-array@^0.10.5": + version "0.10.7" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc" + integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -2894,11 +2873,6 @@ debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== - "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" @@ -3034,10 +3008,10 @@ "@types/node" "*" jest-mock "^27.5.1" -"@jest/expect-utils@^29.0.2": - version "29.0.2" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.0.2.tgz#00dfcb9e6fe99160c326ba39f7734b984543dea8" - integrity sha512-+wcQF9khXKvAEi8VwROnCWWmHfsJYCZAs5dmuMlJBKk57S6ZN2/FQMIlo01F29fJyT8kV/xblE7g3vkIdTLOjw== +"@jest/expect-utils@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.1.2.tgz#66dbb514d38f7d21456bc774419c9ae5cca3f88d" + integrity sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg== dependencies: jest-get-type "^29.0.0" @@ -3222,10 +3196,10 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jest/types@^29.0.2": - version "29.0.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.0.2.tgz#5a5391fa7f7f41bf4b201d6d2da30e874f95b6c1" - integrity sha512-5WNMesBLmlkt1+fVkoCjHa0X3i3q8zc4QLTDkdHgCa2gyPZc7rdlZBWgVLqwS1860ZW5xJuCDwAzqbGaXIr/ew== +"@jest/types@^29.1.2": + version "29.1.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.1.2.tgz#7442d32b16bcd7592d9614173078b8c334ec730a" + integrity sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg== dependencies: "@jest/schemas" "^29.0.0" "@types/istanbul-lib-coverage" "^2.0.0" @@ -3251,7 +3225,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== @@ -3269,7 +3243,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== @@ -3283,12 +3257,12 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== + version "0.3.16" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz#a7982f16c18cae02be36274365433e5b49d7b23f" + integrity sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" "@json-rpc-tools/provider@^1.5.5": version "1.7.6" @@ -3469,21 +3443,38 @@ multiformats "^9.5.4" murmurhash3js-revisited "^3.0.0" +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + "@noble/ed25519@^1.5.1": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.0.tgz#583ac38340a479314b9e348d4572101ed9492f9d" - integrity sha512-LeAxFK0+181zQOhOUuKE8Jnd3duzYhDNd3iCLxpmzA5K+e4I1FdbrK3Ot0ZHBwZMeRD/6EojyUfTbpHZ+hkQHg== + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.1.tgz#6899660f6fbb97798a6fbd227227c4589a454724" + integrity sha512-Rk4SkJFaXZiznFyC/t77Q0NKS4FL7TLJJsVG2V2oiEq3kJVeTdxysEe/yRWSpnWMe808XRDJ+VFh5pt/FN5plw== -"@noble/hashes@1.1.2", "@noble/hashes@~1.1.1": +"@noble/hashes@1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== -"@noble/secp256k1@1.6.3", "@noble/secp256k1@^1.3.0", "@noble/secp256k1@~1.6.0": +"@noble/hashes@~1.1.1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.3.tgz#360afc77610e0a61f3417e497dcf36862e4f8111" + integrity sha512-CE0FCR57H2acVI5UOzIGSSIYxZ6v/HOhDR0Ro9VLyhnzLwx0o8W1mmgaqlEUx4049qJDlIBRztv5k+MM8vbO3A== + +"@noble/secp256k1@1.6.3", "@noble/secp256k1@~1.6.0": version "1.6.3" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94" integrity sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ== +"@noble/secp256k1@^1.3.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.0.tgz#d15357f7c227e751d90aa06b05a0e5cf993ba8c1" + integrity sha512-kbacwGSsH/CTout0ZnZWxnW1B+jH/7r/WAAKLBtrRJ/+CUH7lgmQzl3GTrQua3SGKWNSDsS6lmjnDpIJ5Dxyaw== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -3510,7 +3501,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nomicfoundation/ethereumjs-block@^4.0.0", "@nomicfoundation/ethereumjs-block@^4.0.0-rc.3": +"@nomicfoundation/ethereumjs-block@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz#fdd5c045e7baa5169abeed0e1202bf94e4481c49" integrity sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA== @@ -3522,7 +3513,7 @@ "@nomicfoundation/ethereumjs-util" "^8.0.0" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-blockchain@^6.0.0", "@nomicfoundation/ethereumjs-blockchain@^6.0.0-rc.3": +"@nomicfoundation/ethereumjs-blockchain@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz#1a8c243a46d4d3691631f139bfb3a4a157187b0c" integrity sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw== @@ -3540,7 +3531,7 @@ lru-cache "^5.1.1" memory-level "^1.0.0" -"@nomicfoundation/ethereumjs-common@^3.0.0", "@nomicfoundation/ethereumjs-common@^3.0.0-rc.3": +"@nomicfoundation/ethereumjs-common@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz#f6bcc7753994555e49ab3aa517fc8bcf89c280b9" integrity sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA== @@ -3560,7 +3551,7 @@ bigint-crypto-utils "^3.0.23" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-evm@^1.0.0", "@nomicfoundation/ethereumjs-evm@^1.0.0-rc.3": +"@nomicfoundation/ethereumjs-evm@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz#99cd173c03b59107c156a69c5e215409098a370b" integrity sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q== @@ -3574,12 +3565,12 @@ mcl-wasm "^0.7.1" rustbn.js "~0.2.0" -"@nomicfoundation/ethereumjs-rlp@^4.0.0", "@nomicfoundation/ethereumjs-rlp@^4.0.0-beta.2", "@nomicfoundation/ethereumjs-rlp@^4.0.0-rc.3": +"@nomicfoundation/ethereumjs-rlp@^4.0.0", "@nomicfoundation/ethereumjs-rlp@^4.0.0-beta.2": version "4.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz#d9a9c5f0f10310c8849b6525101de455a53e771d" integrity sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw== -"@nomicfoundation/ethereumjs-statemanager@^1.0.0", "@nomicfoundation/ethereumjs-statemanager@^1.0.0-rc.3": +"@nomicfoundation/ethereumjs-statemanager@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz#14a9d4e1c828230368f7ab520c144c34d8721e4b" integrity sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ== @@ -3592,7 +3583,7 @@ ethereum-cryptography "0.1.3" functional-red-black-tree "^1.0.1" -"@nomicfoundation/ethereumjs-trie@^5.0.0", "@nomicfoundation/ethereumjs-trie@^5.0.0-rc.3": +"@nomicfoundation/ethereumjs-trie@^5.0.0": version "5.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz#dcfbe3be53a94bc061c9767a396c16702bc2f5b7" integrity sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A== @@ -3602,7 +3593,7 @@ ethereum-cryptography "0.1.3" readable-stream "^3.6.0" -"@nomicfoundation/ethereumjs-tx@^4.0.0", "@nomicfoundation/ethereumjs-tx@^4.0.0-rc.3": +"@nomicfoundation/ethereumjs-tx@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz#59dc7452b0862b30342966f7052ab9a1f7802f52" integrity sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w== @@ -3612,7 +3603,7 @@ "@nomicfoundation/ethereumjs-util" "^8.0.0" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-util@^8.0.0", "@nomicfoundation/ethereumjs-util@^8.0.0-rc.3": +"@nomicfoundation/ethereumjs-util@^8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz#deb2b15d2c308a731e82977aefc4e61ca0ece6c5" integrity sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A== @@ -3620,7 +3611,7 @@ "@nomicfoundation/ethereumjs-rlp" "^4.0.0-beta.2" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-vm@^6.0.0-rc.3": +"@nomicfoundation/ethereumjs-vm@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz#2bb50d332bf41790b01a3767ffec3987585d1de6" integrity sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w== @@ -3798,9 +3789,9 @@ web3-utils "^1.2.5" "@orbisclub/orbis-sdk@^0.3.80": - version "0.3.80" - resolved "https://registry.yarnpkg.com/@orbisclub/orbis-sdk/-/orbis-sdk-0.3.80.tgz#4fe31b7360feb140e1284ab54b3309a1fa74bbf6" - integrity sha512-fS5FP/FGdBTbuLxLxMkEU0eSVeshqsBjDr0nF6NR9JJt7yoO/mADuCm+nn6mHClJqWTb0yNg5yzPRP7kc4Dncg== + version "0.3.91" + resolved "https://registry.yarnpkg.com/@orbisclub/orbis-sdk/-/orbis-sdk-0.3.91.tgz#f38e69f84309d8d7f2a6f9a890d8771b0d425cc3" + integrity sha512-SvtcOzHH9b9Z6qV+9QqEfW4w8A8Lp9/49p/c/454Cm95H9Oa1mX0Is7q9ThibzjbjhJaVnYFXjSGmI00mLLlQQ== dependencies: "@ceramicnetwork/blockchain-utils-linking" "^2.0.8" "@ceramicnetwork/http-client" "^2.3.1" @@ -3935,6 +3926,11 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== +"@remix-run/router@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.0.2.tgz#1c17eadb2fa77f80a796ad5ea9bf108e6993ef06" + integrity sha512-GRSOFhJzjGN+d4sKHTMSvNeUPoZiDHWmRnXfzaxrqe7dE/Nzlc8BiMSJdLDESZlndM7jIUrZ/F4yWqVYlI0rwQ== + "@resolver-engine/core@^0.2.1": version "0.2.1" resolved "https://registry.yarnpkg.com/@resolver-engine/core/-/core-0.2.1.tgz#0d71803f6d3b8cb2e9ed481a1bf0ca5f5256d0c0" @@ -4018,9 +4014,9 @@ picomatch "^2.2.2" "@rushstack/eslint-patch@^1.1.0": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz#0c8b74c50f29ee44f423f7416829c0bf8bb5eb27" - integrity sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" + integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== "@scure/base@~1.1.0": version "1.1.1" @@ -4130,9 +4126,9 @@ integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== "@sinclair/typebox@^0.24.1": - version "0.24.39" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.39.tgz#21d0c56c295a00e391e20a88a48c11d4a1210ac5" - integrity sha512-GqtkxoAjhTzoMwFg/JYRl+1+miOoyvp6mkLpbMSd2fIQak2KvY00ndlXxxkDBpuCPYkorZeEZf0LEQn9V9NRVQ== + version "0.24.44" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.44.tgz#0a0aa3bf4a155a678418527342a3ee84bd8caa5c" + integrity sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg== "@sindresorhus/is@^0.14.0": version "0.14.0" @@ -4361,18 +4357,18 @@ "@stablelib/wipe" "^1.0.1" "@stablelib/xchacha20" "^1.0.1" -"@storybook/addon-actions@6.5.10", "@storybook/addon-actions@^6.4.22": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.5.10.tgz#83ec807a899e0412cf98037647f256c45cc32bf5" - integrity sha512-vpCnEu81fmtYzOf0QsRYoDuf9wXgVVl2VysE1dWRebRhIUDU0JurrthTnw322e38D4FzaoNGqZE7wnBYBohzZA== +"@storybook/addon-actions@6.5.12", "@storybook/addon-actions@^6.4.22": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.5.12.tgz#9d2bf3bffa41cf4f92c7220c8f6e3a3f5da55019" + integrity sha512-yEbyKjBsSRUr61SlS+SOTqQwdumO8Wa3GoHO3AfmvoKfzdGrM7w8G5Zs9Iev16khWg/7bQvoH3KZsg/hQuKnNg== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/theming" "6.5.10" + "@storybook/theming" "6.5.12" core-js "^3.8.2" fast-deep-equal "^3.1.3" global "^4.4.0" @@ -4386,18 +4382,18 @@ util-deprecate "^1.0.2" uuid-browser "^3.1.0" -"@storybook/addon-backgrounds@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.5.10.tgz#9ab2d2165fe35d265d9d6013fc174fa8528a272f" - integrity sha512-5uzQda3dh891h7BL8e9Ymk7BI+QgkkzDJXuA4mHjOXfIiD3S3efhJI8amXuBC2ZpIr6zmVit0MqZVyoVve46cQ== +"@storybook/addon-backgrounds@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.5.12.tgz#a52bb4c4e02d2c5b2f9cd125d605eb311a2f78ea" + integrity sha512-S0QThY1jnU7Q+HY+g9JgpAJszzNmNkigZ4+X/4qlUXE0WYYn9i2YG5H6me1+57QmIXYddcWWqqgF9HUXl667NA== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/theming" "6.5.10" + "@storybook/theming" "6.5.12" core-js "^3.8.2" global "^4.4.0" memoizerific "^1.11.3" @@ -4405,47 +4401,47 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/addon-controls@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.5.10.tgz#275ddcd0f4dc1a107777b425417a8f252f52a91e" - integrity sha512-lC2y3XcolmQAJwFurIyGrynAHPWmfNtTCdu3rQBTVGwyxCoNwdOOeC2jV0BRqX2+CW6OHzJr9frNWXPSaZ8c4w== +"@storybook/addon-controls@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.5.12.tgz#01978f624b3ef29610e8e573e93fa063be37d7af" + integrity sha512-UoaamkGgAQXplr0kixkPhROdzkY+ZJQpG7VFDU6kmZsIgPRNfX/QoJFR5vV6TpDArBIjWaUUqWII+GHgPRzLgQ== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-common" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-common" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/node-logger" "6.5.10" - "@storybook/store" "6.5.10" - "@storybook/theming" "6.5.10" + "@storybook/node-logger" "6.5.12" + "@storybook/store" "6.5.12" + "@storybook/theming" "6.5.12" core-js "^3.8.2" lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.5.10.tgz#dde18b5659e8033651e139a231a7f69306433b92" - integrity sha512-1kgjo3f0vL6GN8fTwLL05M/q/kDdzvuqwhxPY/v5hubFb3aQZGr2yk9pRBaLAbs4bez0yG0ASXcwhYnrEZUppg== +"@storybook/addon-docs@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.5.12.tgz#84d27147b044b1e3ed7354aba635bf71f3750000" + integrity sha512-T+QTkmF7QlMVfXHXEberP8CYti/XMTo9oi6VEbZLx+a2N3qY4GZl7X2g26Sf5V4Za+xnapYKBMEIiJ5SvH9weQ== dependencies: "@babel/plugin-transform-react-jsx" "^7.12.12" "@babel/preset-env" "^7.12.11" "@jest/transform" "^26.6.2" "@mdx-js/react" "^1.6.22" - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-common" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/docs-tools" "6.5.10" + "@storybook/docs-tools" "6.5.12" "@storybook/mdx1-csf" "^0.0.1" - "@storybook/node-logger" "6.5.10" - "@storybook/postinstall" "6.5.10" - "@storybook/preview-web" "6.5.10" - "@storybook/source-loader" "6.5.10" - "@storybook/store" "6.5.10" - "@storybook/theming" "6.5.10" + "@storybook/node-logger" "6.5.12" + "@storybook/postinstall" "6.5.12" + "@storybook/preview-web" "6.5.12" + "@storybook/source-loader" "6.5.12" + "@storybook/store" "6.5.12" + "@storybook/theming" "6.5.12" babel-loader "^8.0.0" core-js "^3.8.2" fast-deep-equal "^3.1.3" @@ -4458,41 +4454,41 @@ util-deprecate "^1.0.2" "@storybook/addon-essentials@^6.4.22": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.5.10.tgz#d56f0f972e3bd5eae6c79b2126f510c5c020b62d" - integrity sha512-PT2aiR4vgAyB0pl3HNBUa4/a7NDRxASxAazz7zt9ZDirkipDKfxwdcLeRoJzwSngVDWEhuz5/paN5x4eNp4Hww== - dependencies: - "@storybook/addon-actions" "6.5.10" - "@storybook/addon-backgrounds" "6.5.10" - "@storybook/addon-controls" "6.5.10" - "@storybook/addon-docs" "6.5.10" - "@storybook/addon-measure" "6.5.10" - "@storybook/addon-outline" "6.5.10" - "@storybook/addon-toolbars" "6.5.10" - "@storybook/addon-viewport" "6.5.10" - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/node-logger" "6.5.10" + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.5.12.tgz#c492587e6e47221257dd1e18ca8c566a1f4dfc7a" + integrity sha512-4AAV0/mQPSk3V0Pie1NIqqgBgScUc0VtBEXDm8BgPeuDNVhPEupnaZgVt+I3GkzzPPo6JjdCsp2L11f3bBSEjw== + dependencies: + "@storybook/addon-actions" "6.5.12" + "@storybook/addon-backgrounds" "6.5.12" + "@storybook/addon-controls" "6.5.12" + "@storybook/addon-docs" "6.5.12" + "@storybook/addon-measure" "6.5.12" + "@storybook/addon-outline" "6.5.12" + "@storybook/addon-toolbars" "6.5.12" + "@storybook/addon-viewport" "6.5.12" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/core-common" "6.5.12" + "@storybook/node-logger" "6.5.12" core-js "^3.8.2" regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" "@storybook/addon-interactions@^6.4.22": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-6.5.10.tgz#c1d635b972bb7d21ccfe9b3bd928916683d92b26" - integrity sha512-+O/ZuQjonpFmTdFRqjCimQTx4S4c1+S3dYCn6gD/E4xzqlQn1BQaER3paX/aBUKb3oRaSO9RUQ+uxePM4zBEwA== + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-6.5.12.tgz#b9b7ae50de4c41ea2c9023dcaacf3f318a072ea4" + integrity sha512-wAkKqUX57qZMzgykMIltjDrFfA0II+pKz2SchK4hXHK3/2rtOe+Ah0Sj5nTQo++Ee5oC1PVZWIq/Y1kufCTBJQ== dependencies: "@devtools-ds/object-inspector" "^1.1.2" - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-common" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/instrumenter" "6.5.10" - "@storybook/theming" "6.5.10" + "@storybook/instrumenter" "6.5.12" + "@storybook/theming" "6.5.12" core-js "^3.8.2" global "^4.4.0" jest-mock "^27.0.6" @@ -4500,15 +4496,15 @@ ts-dedent "^2.2.0" "@storybook/addon-links@^6.4.22": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.5.10.tgz#f66568fbc84b942032ac2de85f799d69fcf77922" - integrity sha512-r3WzYIPz7WjHiaPObC2Tg6bHuZRBb/Kt/X+Eitw+jTqBel7ksvkO36tn81q8Eyj61qIdNQmUWAaX/0aewT0kLA== + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.5.12.tgz#57ec0c651ef29f9d969a2d715f85a69d5ce29e60" + integrity sha512-Dyt922J5nTBwM/9KtuuDIt3sX8xdTkKh+aXSoOX6OzT04Xwm5NumFOvuQ2YA00EM+3Ihn7Ayc3urvxnHTixmKg== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/router" "6.5.10" + "@storybook/router" "6.5.12" "@types/qs" "^6.9.5" core-js "^3.8.2" global "^4.4.0" @@ -4517,95 +4513,95 @@ regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/addon-measure@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-6.5.10.tgz#afac72a15d927f9f2119e2218017d757a8c8c6a4" - integrity sha512-ss7L1H5K5hXygDIoVwj+QyVXbve5V67x7CofLiLCgQYuJzfO16+sPGjiTGWMpTb4ijox2uKWnTkpilt5bCjXgw== +"@storybook/addon-measure@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-6.5.12.tgz#dbdb0f6fcf0a58a5f0342d3df898e42bb56c587b" + integrity sha512-zmolO6+VG4ov2620G7f1myqLQLztfU+ykN+U5y52GXMFsCOyB7fMoVWIMrZwsNlinDu+CnUvelXHUNbqqnjPRg== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" core-js "^3.8.2" global "^4.4.0" -"@storybook/addon-outline@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-6.5.10.tgz#a49164697344de1bd11d35a5ce21e59afc0dd19c" - integrity sha512-AjdaeQ+/iBKmGrAqRW4niwMB6AkgGnYmSzVs5Cf6F/Sb4Dp+vzgLNOwLABD9qs8Ri8dvHl5J4QpVwQKUhYZaOQ== +"@storybook/addon-outline@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-6.5.12.tgz#27a7eef9c2d450a59458416055a1a55876229488" + integrity sha512-jXwLz2rF/CZt6Cgy+QUTa+pNW0IevSONYwS3D533E9z5h0T5ZKJbbxG5jxM+oC+FpZ/nFk5mEmUaYNkxgIVdpw== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" core-js "^3.8.2" global "^4.4.0" regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.5.10.tgz#750e6c7fa50a54dac7fe5df7b7c239fb02a4456c" - integrity sha512-S0Ljc6Wv+bPbx2e0iTveJ6bBDqjsemu+FZD4qDLsHreoI7DAcqyrF5Def1l8xNohixIVpx8dQpYXRtyzNlXekg== +"@storybook/addon-toolbars@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.5.12.tgz#ea81c63ae56eae8bc1d3b5a358cff66ae5a2d66e" + integrity sha512-+QjoEHkekz4wTy8zqxYdV9ijDJ5YcjDc/qdnV8wx22zkoVU93FQlo0CHHVjpyvc3ilQliZbdQDJx62BcHXw30Q== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/theming" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/theming" "6.5.12" core-js "^3.8.2" regenerator-runtime "^0.13.7" -"@storybook/addon-viewport@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.5.10.tgz#4c6151d7e8177b07df8dcb4c61e842dac949215b" - integrity sha512-RFMd+4kZljyuJjR9OJ2bFXHrSG7VTi5FDZYWEU+4W1sBxzC+JhnVnUP+HJH3gUxEFIRQC5neRzwWRE9RUUoALQ== - dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-events" "6.5.10" - "@storybook/theming" "6.5.10" +"@storybook/addon-viewport@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.5.12.tgz#7158647c006c6aabd86294d24e7209becbf30b88" + integrity sha512-eQ1UrmbiMiPmWe+fdMWIc0F6brh/S2z4ADfwFz0tTd+vOLWRZp1xw8JYQ9P2ZasE+PM3WFOVT9jvNjZj/cHnfw== + dependencies: + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-events" "6.5.12" + "@storybook/theming" "6.5.12" core-js "^3.8.2" global "^4.4.0" memoizerific "^1.11.3" prop-types "^15.7.2" regenerator-runtime "^0.13.7" -"@storybook/addons@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.10.tgz#bff2f8fb8453e9df04fa6dbc41341fd05f4cdeba" - integrity sha512-VD4tBCQ23PkSeDoxuHcKy0RfhIs3oMYjBacOZx7d0bvOzK9WjPyvE2ysDAh7r/ceqnwmWHAScIpE+I1RU7gl+g== +"@storybook/addons@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.12.tgz#891767b5f88ea99b956cf19e9e2893594068adc7" + integrity sha512-y3cgxZq41YGnuIlBJEuJjSFdMsm8wnvlNOGUP9Q+Er2dgfx8rJz4Q22o4hPjpvpaj4XdBtxCJXI2NeFpN59+Cw== dependencies: - "@storybook/api" "6.5.10" - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/api" "6.5.12" + "@storybook/channels" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/router" "6.5.10" - "@storybook/theming" "6.5.10" + "@storybook/router" "6.5.12" + "@storybook/theming" "6.5.12" "@types/webpack-env" "^1.16.0" core-js "^3.8.2" global "^4.4.0" regenerator-runtime "^0.13.7" -"@storybook/api@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.10.tgz#215623844648f0da2ac646fdcdd1345c2e1a8490" - integrity sha512-AkmgSPNEGdKp4oZA4KQ+RJsacw7GwfvjsVDnCkcXqS9zmSr/RNL0fhpcd60KKkmx/hGKPTDFpK3ZayxDrJ/h4A== +"@storybook/api@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.12.tgz#7cc82087fc9298be03f15bf4ab9c4aab294b3bac" + integrity sha512-DuUZmMlQxkFNU9Vgkp9aNfCkAongU76VVmygvCuSpMVDI9HQ2lG0ydL+ppL4XKoSMCCoXTY6+rg4hJANnH+1AQ== dependencies: - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/channels" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/router" "6.5.10" + "@storybook/router" "6.5.12" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.5.10" + "@storybook/theming" "6.5.12" core-js "^3.8.2" fast-deep-equal "^3.1.3" global "^4.4.0" @@ -4617,28 +4613,28 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-webpack4@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.10.tgz#79e95323577a37349ab3c81193fa249ac5c50173" - integrity sha512-AoKjsCNoQQoZXYwBDxO8s+yVEd5FjBJAaysEuUTHq2fb81jwLrGcEOo6hjw4jqfugZQIzYUEjPazlvubS78zpw== +"@storybook/builder-webpack4@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.12.tgz#dcfd91d3e78505943864335bc2b84ccc4d00a54e" + integrity sha512-TsthT5jm9ZxQPNOZJbF5AV24me3i+jjYD7gbdKdSHrOVn1r3ydX4Z8aD6+BjLCtTn3T+e8NMvUkL4dInEo1x6g== dependencies: "@babel/core" "^7.12.10" - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/channel-postmessage" "6.5.10" - "@storybook/channels" "6.5.10" - "@storybook/client-api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/core-events" "6.5.10" - "@storybook/node-logger" "6.5.10" - "@storybook/preview-web" "6.5.10" - "@storybook/router" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/channel-postmessage" "6.5.12" + "@storybook/channels" "6.5.12" + "@storybook/client-api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-common" "6.5.12" + "@storybook/core-events" "6.5.12" + "@storybook/node-logger" "6.5.12" + "@storybook/preview-web" "6.5.12" + "@storybook/router" "6.5.12" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.10" - "@storybook/theming" "6.5.10" - "@storybook/ui" "6.5.10" + "@storybook/store" "6.5.12" + "@storybook/theming" "6.5.12" + "@storybook/ui" "6.5.12" "@types/node" "^14.0.10 || ^16.0.0" "@types/webpack" "^4.41.26" autoprefixer "^9.8.6" @@ -4670,51 +4666,51 @@ webpack-hot-middleware "^2.25.1" webpack-virtual-modules "^0.2.2" -"@storybook/channel-postmessage@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.10.tgz#be8971b4b7f91b664bb2c6965fdfb073d541a03e" - integrity sha512-t9PTA0UzFvYa3IlOfpBOolfrRMPTjUMIeCQ6FNyM0aj5GqLKSvoQzP8NeoRpIrvyf6ljFKKdaMaZ3fiCvh45ag== +"@storybook/channel-postmessage@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.12.tgz#045c5920eb6924b11411d1d5f6475a0d83c982e3" + integrity sha512-SL/tJBLOdDlbUAAxhiZWOEYd5HI4y8rN50r6jeed5nD8PlocZjxJ6mO0IxnePqIL9Yu3nSrQRHrtp8AJvPX0Yg== dependencies: - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/channels" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" core-js "^3.8.2" global "^4.4.0" qs "^6.10.0" telejson "^6.0.8" -"@storybook/channel-websocket@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.10.tgz#bd1316a9b555229b215e5054a76b57c503dd8adc" - integrity sha512-RTXMZbMWCS3xU+4GVIdfnUXsKcwg/WTozy88/5OxaKjGw6KgRedqLAQJKJ6Y5XlnwIcWelirkHj/COwTTXhbPg== +"@storybook/channel-websocket@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.12.tgz#4796e2436900d73fb867591f7d7cf8f94898d51b" + integrity sha512-0t5dLselHVKTRYaphxx1dRh4pmOFCfR7h8oNJlOvJ29Qy5eNyVujDG9nhwWbqU6IKayuP4nZrAbe9Req9YZYlQ== dependencies: - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" + "@storybook/channels" "6.5.12" + "@storybook/client-logger" "6.5.12" core-js "^3.8.2" global "^4.4.0" telejson "^6.0.8" -"@storybook/channels@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.10.tgz#fca5b0d1ea8d30b022e805301ed436407c867ac4" - integrity sha512-lo26YZ6kWpHXLhuHJF4P/bICY7jD/rXEZqReKtGOSk1Lv99/xvG6pqmcy3hWLf3v3Dy/8otjRPSR7izFVIIZgQ== +"@storybook/channels@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.12.tgz#98baf01691d263e2ac341853361ec69c1a6621bc" + integrity sha512-X5XaKbe4b7LXJ4sUakBo00x6pXnW78JkOonHoaKoWsccHLlEzwfBZpVVekhVZnqtCoLT23dB8wjKgA71RYWoiw== dependencies: core-js "^3.8.2" ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/client-api@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.10.tgz#0bc3f68ce014ce1ffd560472a893ba04be370f09" - integrity sha512-3wBWZl3NvMFgMovgEh+euiARAT2FXzpvTF4Q1gerGMNNDlrGxHnFvSuy4FHg/irtOGLa4yLz43ULFbYtpKw0Lg== +"@storybook/client-api@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.12.tgz#9d02b2a8f5d4137918257742d72ae10c6a70a477" + integrity sha512-+JiRSgiU829KPc25nG/k0+Ao2nUelHUe8Y/9cRoKWbCAGzi4xd0JLhHAOr9Oi2szWx/OI1L08lxVv1+WTveAeA== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/channel-postmessage" "6.5.10" - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/channel-postmessage" "6.5.12" + "@storybook/channels" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/store" "6.5.10" + "@storybook/store" "6.5.12" "@types/qs" "^6.9.5" "@types/webpack-env" "^1.16.0" core-js "^3.8.2" @@ -4729,43 +4725,43 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/client-logger@6.5.10", "@storybook/client-logger@^6.4.0 || >=6.5.0-0": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.10.tgz#cfea823a5b8444409daa74f854c5d05367986b34" - integrity sha512-/xA0MHOevXev68hyLMQw8Qo8KczSIdXOxliAgrycMTkDmw5eKeA8TP7B8zP3wGuq/e3MrdD9/8MWhb/IQBNC3w== +"@storybook/client-logger@6.5.12", "@storybook/client-logger@^6.4.0 || >=6.5.0-0": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.12.tgz#d9809e13dc7939eb61452a5e94b1ccb61c4a022c" + integrity sha512-IrkMr5KZcudX935/C2balFbxLHhkvQnJ78rbVThHDVckQ7l3oIXTh66IMzldeOabVFDZEMiW8AWuGEYof+JtLw== dependencies: core-js "^3.8.2" global "^4.4.0" -"@storybook/components@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.10.tgz#268e1269bc3d262f7dcec13f96c3b844919687b8" - integrity sha512-9OhgB8YQfGwOKjo/N96N5mrtJ6qDVVoEM1zuhea32tJUd2eYf0aSWpryA9VnOM0V1q/8DAoCg5rPBMYWMBU5uw== +"@storybook/components@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.12.tgz#e137f0683ea92e22de116bfa62cfd65ce4efe01d" + integrity sha512-NAAGl5PDXaHdVLd6hA+ttmLwH3zAVGXeUmEubzKZ9bJzb+duhFKxDa9blM4YEkI+palumvgAMm0UgS7ou680Ig== dependencies: - "@storybook/client-logger" "6.5.10" + "@storybook/client-logger" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/theming" "6.5.10" + "@storybook/theming" "6.5.12" core-js "^3.8.2" memoizerific "^1.11.3" qs "^6.10.0" regenerator-runtime "^0.13.7" util-deprecate "^1.0.2" -"@storybook/core-client@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.10.tgz#90c86923236c8efff33d454a0dc552f6df4346b1" - integrity sha512-THsIjNrOrampTl0Lgfjvfjk1JnktKb4CQLOM80KpQb4cjDqorBjJmErzUkUQ2y3fXvrDmQ/kUREkShET4XEdtA== - dependencies: - "@storybook/addons" "6.5.10" - "@storybook/channel-postmessage" "6.5.10" - "@storybook/channel-websocket" "6.5.10" - "@storybook/client-api" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" +"@storybook/core-client@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.12.tgz#1a3889604b92292d210d956c46f86a64dd7a9483" + integrity sha512-jyAd0ud6zO+flpLv0lEHbbt1Bv9Ms225M6WTQLrfe7kN/7j1pVKZEoeVCLZwkJUtSKcNiWQxZbS15h31pcYwqg== + dependencies: + "@storybook/addons" "6.5.12" + "@storybook/channel-postmessage" "6.5.12" + "@storybook/channel-websocket" "6.5.12" + "@storybook/client-api" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/preview-web" "6.5.10" - "@storybook/store" "6.5.10" - "@storybook/ui" "6.5.10" + "@storybook/preview-web" "6.5.12" + "@storybook/store" "6.5.12" + "@storybook/ui" "6.5.12" airbnb-js-shims "^2.2.1" ansi-to-html "^0.6.11" core-js "^3.8.2" @@ -4777,10 +4773,10 @@ unfetch "^4.2.0" util-deprecate "^1.0.2" -"@storybook/core-common@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.10.tgz#6b93449548b0890f5c68d89f0ca78e092026182c" - integrity sha512-Bx+VKkfWdrAmD8T51Sjq/mMhRaiapBHcpG4cU5bc3DMbg+LF2/yrgqv/cjVu+m5gHAzYCac5D7gqzBgvG7Myww== +"@storybook/core-common@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.12.tgz#9f8d5cb3812382c49c84dcfb4279a39e228a1b83" + integrity sha512-gG20+eYdIhwQNu6Xs805FLrOCWtkoc8Rt8gJiRt8yXzZh9EZkU4xgCRoCxrrJ03ys/gTiCFbBOfRi749uM3z4w== dependencies: "@babel/core" "^7.12.10" "@babel/plugin-proposal-class-properties" "^7.12.1" @@ -4804,7 +4800,7 @@ "@babel/preset-react" "^7.12.10" "@babel/preset-typescript" "^7.12.7" "@babel/register" "^7.12.1" - "@storybook/node-logger" "6.5.10" + "@storybook/node-logger" "6.5.12" "@storybook/semver" "^7.3.2" "@types/node" "^14.0.10 || ^16.0.0" "@types/pretty-hrtime" "^1.0.0" @@ -4833,30 +4829,30 @@ util-deprecate "^1.0.2" webpack "4" -"@storybook/core-events@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.5.10.tgz#66d87c8ea18db8e448018a16a3d0198ddbcbc683" - integrity sha512-EVb1gO1172klVIAABLOoigFMx0V88uctY0K/qVCO8n6v+wd2+0Ccn63kl+gTxsAC3WZ8XhXh9q2w5ImHklVECw== +"@storybook/core-events@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.5.12.tgz#28bd727cc4216012409bfac412fcb708346c56bc" + integrity sha512-0AMyMM19R/lHsYRfWqM8zZTXthasTAK2ExkSRzYi2GkIaVMxRKtM33YRwxKIpJ6KmIKIs8Ru3QCXu1mfCmGzNg== dependencies: core-js "^3.8.2" -"@storybook/core-server@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.10.tgz#ada3d647833c02cb8c742281c1f314ff866f96f8" - integrity sha512-jqwpA0ccA8X5ck4esWBid04+cEIVqirdAcqJeNb9IZAD+bRreO4Im8ilzr7jc5AmQ9fkqHs2NByFKh9TITp8NQ== +"@storybook/core-server@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.12.tgz#bc47a2af4972f7c9cddb8b5961bd5f04a3f7f09f" + integrity sha512-q1b/XKwoLUcCoCQ+8ndPD5THkEwXZYJ9ROv16i2VGUjjjAuSqpEYBq5GMGQUgxlWp1bkxtdGL2Jz+6pZfvldzA== dependencies: "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-webpack4" "6.5.10" - "@storybook/core-client" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/builder-webpack4" "6.5.12" + "@storybook/core-client" "6.5.12" + "@storybook/core-common" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/csf-tools" "6.5.10" - "@storybook/manager-webpack4" "6.5.10" - "@storybook/node-logger" "6.5.10" + "@storybook/csf-tools" "6.5.12" + "@storybook/manager-webpack4" "6.5.12" + "@storybook/node-logger" "6.5.12" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.10" - "@storybook/telemetry" "6.5.10" + "@storybook/store" "6.5.12" + "@storybook/telemetry" "6.5.12" "@types/node" "^14.0.10 || ^16.0.0" "@types/node-fetch" "^2.5.7" "@types/pretty-hrtime" "^1.0.0" @@ -4891,18 +4887,18 @@ ws "^8.2.3" x-default-browser "^0.4.0" -"@storybook/core@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.10.tgz#15ec8be85943251e25c2c24e80e20dcacc4fed65" - integrity sha512-K86yYa0tYlMxADlwQTculYvPROokQau09SCVqpsLg3wJCTvYFL4+SIqcYoyBSbFmHOdnYbJgPydjN33MYLiOZQ== +"@storybook/core@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.12.tgz#b12456a76de584ee3b0818b5f50c35338ac66f93" + integrity sha512-+o3psAVWL+5LSwyJmEbvhgxKO1Et5uOX8ujNVt/f1fgwJBIf6BypxyPKu9YGQDRzcRssESQQZWNrZCCAZlFeuQ== dependencies: - "@storybook/core-client" "6.5.10" - "@storybook/core-server" "6.5.10" + "@storybook/core-client" "6.5.12" + "@storybook/core-server" "6.5.12" -"@storybook/csf-tools@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.10.tgz#ae6f1ebd4951e8978c8fe3e08ddd2bd269bf922b" - integrity sha512-H77kZQEisu7+skzeIbNZwmE09OqLjwJTeFhLN1pcjxKVa30LEI3pBHcNBxVKqgxl+Yg3KkB7W/ArLO2N+i2ohw== +"@storybook/csf-tools@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.12.tgz#7740becd059686001d4c1b4db3f43e792362d918" + integrity sha512-BPhnB1xJtBVOzXuCURzQRdXcstE27ht4qoTgQkbwUTy4MEtUZ/f1AnHSYRdzrgukXdUFWseNIK4RkNdJpfOfNQ== dependencies: "@babel/core" "^7.12.10" "@babel/generator" "^7.12.11" @@ -4926,44 +4922,44 @@ dependencies: lodash "^4.17.15" -"@storybook/docs-tools@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.10.tgz#30baa62c1ca3a18b13625b6b305e23e39f404416" - integrity sha512-/bvYgOO+CxMEcHifkjJg0A60OTGOhcjGxnsB1h0gJuxMrqA/7Qwc108bFmPiX0eiD1BovFkZLJV4O6OY7zP5Vw== +"@storybook/docs-tools@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.12.tgz#22138cc810e8790b21d518cd48a3e2716d43c751" + integrity sha512-8brf8W89KVk95flVqW0sYEqkL+FBwb5W9CnwI+Ggd6r2cqXe9jyg+0vDZFdYp6kYNQKrPr4fbXGrGVXQG18/QQ== dependencies: "@babel/core" "^7.12.10" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/store" "6.5.10" + "@storybook/store" "6.5.12" core-js "^3.8.2" doctrine "^3.0.0" lodash "^4.17.21" regenerator-runtime "^0.13.7" -"@storybook/instrumenter@6.5.10", "@storybook/instrumenter@^6.4.0 || >=6.5.0-0": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-6.5.10.tgz#5443f5fdb25ddb589ede2e2f0147becaffd405cb" - integrity sha512-3yKJW68wTnGYEts2mJQG6M7ZE+fe54fuy5lBBzRtvWnC15uWTxuaiFp2kxH5b+stSCi4m71ws45RNiEafdBgEQ== +"@storybook/instrumenter@6.5.12", "@storybook/instrumenter@^6.4.0 || >=6.5.0-0": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-6.5.12.tgz#acd721c50b65183a53fb5913fe7cdb35b06e2433" + integrity sha512-VMl+Yg6ab79A1VqlhC69sBFI6ySw4Lganqdf9JJf6Y7uNRcZwsjfGpGfYiL4WGH1q72tGiq/25XKGIJV0jgi1Q== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" core-js "^3.8.2" global "^4.4.0" -"@storybook/manager-webpack4@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.10.tgz#41bae252b863484f293954ef2d2dc80bf3e028f1" - integrity sha512-N/TlNDhuhARuFipR/ZJ/xEVESz23iIbCsZ4VNehLHm8PpiGlQUehk+jMjWmz5XV0bJItwjRclY+CU3GjZKblfQ== +"@storybook/manager-webpack4@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.12.tgz#7e0ae21455e1c070d291942c18373ceaa58c0e05" + integrity sha512-LH3e6qfvq2znEdxe2kaWtmdDPTnvSkufzoC9iwOgNvo3YrTGrYNyUTDegvW293TOTVfUn7j6TBcsOxIgRnt28g== dependencies: "@babel/core" "^7.12.10" "@babel/plugin-transform-template-literals" "^7.12.1" "@babel/preset-react" "^7.12.10" - "@storybook/addons" "6.5.10" - "@storybook/core-client" "6.5.10" - "@storybook/core-common" "6.5.10" - "@storybook/node-logger" "6.5.10" - "@storybook/theming" "6.5.10" - "@storybook/ui" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/core-client" "6.5.12" + "@storybook/core-common" "6.5.12" + "@storybook/node-logger" "6.5.12" + "@storybook/theming" "6.5.12" + "@storybook/ui" "6.5.12" "@types/node" "^14.0.10 || ^16.0.0" "@types/webpack" "^4.41.26" babel-loader "^8.0.0" @@ -5008,10 +5004,10 @@ prettier ">=2.2.1 <=2.3.0" ts-dedent "^2.0.0" -"@storybook/node-logger@6.5.10", "@storybook/node-logger@^6.4.22": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.10.tgz#bce4c04009c4b62d6d2fb617176d7ef0084e9e89" - integrity sha512-bYswXIKV7Stru8vYfkjUMNN8UhF7Qg7NRsUvG5Djt5lLIae1XmUIgnH40mU/nW4X4BSfcR9MKxsSsngvn2WmQg== +"@storybook/node-logger@6.5.12", "@storybook/node-logger@^6.4.22": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.12.tgz#0f9efcd1a37c7aae493b22fe33cacca87c135b9b" + integrity sha512-jdLtT3mX5GQKa+0LuX0q0sprKxtCGf6HdXlKZGD5FEuz4MgJUGaaiN0Hgi+U7Z4tVNOtSoIbYBYXHqfUgJrVZw== dependencies: "@types/npmlog" "^4.1.2" chalk "^4.1.0" @@ -5019,10 +5015,10 @@ npmlog "^5.0.1" pretty-hrtime "^1.0.3" -"@storybook/postinstall@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.5.10.tgz#b25378da036bce7b318c6732733aa5ad43449f37" - integrity sha512-xqUdpnFHYkn8MgtV+QztvIsRWa6jQUk7QT1Mu17Y0S7PbslNGsuskRPHenHhACXBJF+TM86R+4BaAhnVYTmElw== +"@storybook/postinstall@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.5.12.tgz#9ff47c254899949be4934b021c37491b247d3266" + integrity sha512-6K73f9c2UO+w4Wtyo2BxEpEsnhPvMgqHSaJ9Yt6Tc90LaDGUbcVgy6PNibsRyuJ/KQ543WeiRO5rSZfm2uJU9A== dependencies: core-js "^3.8.2" @@ -5038,17 +5034,17 @@ pnp-webpack-plugin "^1.7.0" semver "^7.3.5" -"@storybook/preview-web@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.10.tgz#81bf5d3f5fca9e26099c057206bd8e684225989b" - integrity sha512-sTC/o5gkvALOtcNgtApGKGN9EavvSxRHBeBh+5BQjV2qQ8ap+26RsfUizNBECAa2Jrn4osaDYn9HRhJLFL69WA== +"@storybook/preview-web@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.12.tgz#09f67908513b9e85254b0b3adea498c8a3e6f7e3" + integrity sha512-Q5mduCJsY9zhmlsrhHvtOBA3Jt2n45bhfVkiUEqtj8fDit45/GW+eLoffv8GaVTGjV96/Y1JFwDZUwU6mEfgGQ== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/channel-postmessage" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/channel-postmessage" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/store" "6.5.10" + "@storybook/store" "6.5.12" ansi-to-html "^0.6.11" core-js "^3.8.2" global "^4.4.0" @@ -5074,23 +5070,23 @@ tslib "^2.0.0" "@storybook/react@^6.4.22": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.5.10.tgz#6e9f5cf5e4c81d966774c08c87fb2414052db454" - integrity sha512-m8S1qQrwA7pDGwdKEvL6LV3YKvSzVUY297Fq+xcTU3irnAy4sHDuFoLqV6Mi1510mErK1r8+rf+0R5rEXB219g== + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.5.12.tgz#0c6b02a583f478ace6cd957a358d84a728a8d232" + integrity sha512-1tG8EdSfp+OZAKAWPT2UrexF4o007jEMwQFFXw1atIQrQOADzSnZ7lTYJ08o5TyJwksswtr18tH3oJJ9sG3KPw== dependencies: "@babel/preset-flow" "^7.12.1" "@babel/preset-react" "^7.12.10" "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" - "@storybook/addons" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core" "6.5.10" - "@storybook/core-common" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core" "6.5.12" + "@storybook/core-common" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/docs-tools" "6.5.10" - "@storybook/node-logger" "6.5.10" + "@storybook/docs-tools" "6.5.12" + "@storybook/node-logger" "6.5.12" "@storybook/react-docgen-typescript-plugin" "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.10" + "@storybook/store" "6.5.12" "@types/estree" "^0.0.51" "@types/node" "^14.14.20 || ^16.0.0" "@types/webpack-env" "^1.16.0" @@ -5114,12 +5110,12 @@ util-deprecate "^1.0.2" webpack ">=4.43.0 <6.0.0" -"@storybook/router@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.5.10.tgz#b0c342e080c1d2b5344603bc43a6c75734a4a879" - integrity sha512-O+vNW/eEpYFF8eCg5jZjNQ6q2DKQVxqDRPCy9pJdEbvavMDZn6AFYgVK+VJe5F4211WW2yncOu922xObCxXJYg== +"@storybook/router@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.5.12.tgz#58efbc1f2f301c8584802af1c710b2f6f03f948c" + integrity sha512-xHubde9YnBbpkDY5+zGO4Pr6VPxP8H9J2v4OTF3H82uaxCIKR0PKG0utS9pFKIsEiP3aM62Hb9qB8nU+v1nj3w== dependencies: - "@storybook/client-logger" "6.5.10" + "@storybook/client-logger" "6.5.12" core-js "^3.8.2" memoizerific "^1.11.3" qs "^6.10.0" @@ -5133,13 +5129,13 @@ core-js "^3.6.5" find-up "^4.1.0" -"@storybook/source-loader@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.5.10.tgz#f62b4c7b1933976a20913ddc149d55026ef4c872" - integrity sha512-1RxxRumpjs8VUUwES9LId+cuNQnixhZAcwCxd6jaKkTZbjiQCtAhXX6DBTjJGV1u/JnCsqEp5b1wB8j/EioNHw== +"@storybook/source-loader@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.5.12.tgz#38b1af69c098a1c63bb1d0091b8714a799efbbda" + integrity sha512-4iuILFsKNV70sEyjzIkOqgzgQx7CJ8kTEFz590vkmWXQNKz7YQzjgISIwL7GBw/myJgeb04bl5psVgY0cbG5vg== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/client-logger" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/client-logger" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" core-js "^3.8.2" estraverse "^5.2.0" @@ -5149,14 +5145,14 @@ prettier ">=2.2.1 <=2.3.0" regenerator-runtime "^0.13.7" -"@storybook/store@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.10.tgz#85df17a8d57af0cba3934b3c6046537e2bca9abd" - integrity sha512-RswrSYh2IiKkytFPxP9AvP+hekjrvHK2ILvyDk2ZgduCN4n5ivsekOb+N3M2t+dq1eLuW9or5n2T4OWwAwjxxQ== +"@storybook/store@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.12.tgz#f1624ba942162cb9627a2ddcac72bfc9062e17a2" + integrity sha512-SMQOr0XvV0mhTuqj3XOwGGc4kTPVjh3xqrG1fqkj9RGs+2jRdmO6mnwzda5gPwUmWNTorZ7FxZ1iEoyfYNtuiQ== dependencies: - "@storybook/addons" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/core-events" "6.5.10" + "@storybook/addons" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/core-events" "6.5.12" "@storybook/csf" "0.0.2--canary.4566f4d.1" core-js "^3.8.2" fast-deep-equal "^3.1.3" @@ -5170,13 +5166,13 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/telemetry@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.10.tgz#742b05a55dfe8470ce4cb371f3f3f2c02f96e816" - integrity sha512-+M5HILDFS8nDumLxeSeAwi1MTzIuV6UWzV4yB2wcsEXOBTdplcl9oYqFKtlst78oOIdGtpPYxYfivDlqxC2K4g== +"@storybook/telemetry@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.12.tgz#12b0a2bcfe47d57ee6e6344ac789a905a5912747" + integrity sha512-mCHxx7NmQ3n7gx0nmblNlZE5ZgrjQm6B08mYeWg6Y7r4GZnqS6wZbvAwVhZZ3Gg/9fdqaBApHsdAXp0d5BrlxA== dependencies: - "@storybook/client-logger" "6.5.10" - "@storybook/core-common" "6.5.10" + "@storybook/client-logger" "6.5.12" + "@storybook/core-common" "6.5.12" chalk "^4.1.0" core-js "^3.8.2" detect-package-manager "^2.0.1" @@ -5199,30 +5195,30 @@ "@testing-library/user-event" "^13.2.1" ts-dedent "^2.2.0" -"@storybook/theming@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.5.10.tgz#052100979c1270fc8f60653c1a13a6f047318109" - integrity sha512-BvTQBBcSEwKKcsVmF+Ol6v0RIQUr+bxP7gb10wtfBd23mZTEFA0C1N5FnZr/dDeiBKG1pvf1UKvoYA731y0BsA== +"@storybook/theming@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.5.12.tgz#7df1b52913d49c5e84fc1f2e837c02d9fa8cc639" + integrity sha512-uWOo84qMQ2R6c1C0faZ4Q0nY01uNaX7nXoJKieoiJ6ZqY9PSYxJl1kZLi3uPYnrxLZjzjVyXX8MgdxzbppYItA== dependencies: - "@storybook/client-logger" "6.5.10" + "@storybook/client-logger" "6.5.12" core-js "^3.8.2" memoizerific "^1.11.3" regenerator-runtime "^0.13.7" -"@storybook/ui@6.5.10": - version "6.5.10" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.10.tgz#f56095a1a39ae5a203f2ac7f3dba86341a5927d5" - integrity sha512-6iaoaRAiTqB1inTw35vao+5hjcDE0Qa0A3a9ZIeNa6yHvpB1k0lO/N/0PMrRdVvySYpXVD1iry4z4QYdo1rU+w== - dependencies: - "@storybook/addons" "6.5.10" - "@storybook/api" "6.5.10" - "@storybook/channels" "6.5.10" - "@storybook/client-logger" "6.5.10" - "@storybook/components" "6.5.10" - "@storybook/core-events" "6.5.10" - "@storybook/router" "6.5.10" +"@storybook/ui@6.5.12": + version "6.5.12" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.12.tgz#25ccd6e6d5aae227ba6561c2b8e9cfda9b0ad4de" + integrity sha512-P7+ARI5NvaEYkrbIciT/UMgy3kxMt4WCtHMXss2T01UMCIWh1Ws4BJaDNqtQSpKuwjjS4eqZL3aQWhlUpYAUEg== + dependencies: + "@storybook/addons" "6.5.12" + "@storybook/api" "6.5.12" + "@storybook/channels" "6.5.12" + "@storybook/client-logger" "6.5.12" + "@storybook/components" "6.5.12" + "@storybook/core-events" "6.5.12" + "@storybook/router" "6.5.12" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.5.10" + "@storybook/theming" "6.5.12" core-js "^3.8.2" memoizerific "^1.11.3" qs "^6.10.0" @@ -5237,9 +5233,9 @@ cross-fetch "^3.1.5" "@supabase/gotrue-js@^1.22.21": - version "1.22.22" - resolved "https://registry.yarnpkg.com/@supabase/gotrue-js/-/gotrue-js-1.22.22.tgz#ac504300336fb8612626340b869e8ab805d7bf52" - integrity sha512-exbCopLo4tLawKZR25wEdipm+IRVujuqFRR4h2wiXd11YA+N8rfgg/4S4L6BTFHmzV+KMjy0kDF3yMbsjIR/xA== + version "1.23.1" + resolved "https://registry.yarnpkg.com/@supabase/gotrue-js/-/gotrue-js-1.23.1.tgz#f189440f0e5f0f2d2755d9d05848fab97b0edf3f" + integrity sha512-fzr895capqV01PRZCs2rgx9SX78BUysl3gac/q+4tioAqG1cf9JrT8W1MlhAYQG68e2yMmNeI7FypqqSVLyksw== dependencies: cross-fetch "^3.0.6" @@ -5250,10 +5246,10 @@ dependencies: cross-fetch "^3.1.5" -"@supabase/realtime-js@^1.7.4": - version "1.7.4" - resolved "https://registry.yarnpkg.com/@supabase/realtime-js/-/realtime-js-1.7.4.tgz#701a4f87b3068b239d9f937ccde8850a174acf88" - integrity sha512-h/Jk3PCLkIVonsNavof/LvHbvF41UD+D+mWcA3m8yHzJ2TLbV3S4XDYId+A3AkvFOAork7Ns/9O8rK0uY4F4zw== +"@supabase/realtime-js@^1.7.5": + version "1.7.5" + resolved "https://registry.yarnpkg.com/@supabase/realtime-js/-/realtime-js-1.7.5.tgz#387f094655c11d5608df9a3039c5f01186a5f401" + integrity sha512-nXuoxt7NE1NTI+G8WBim1K2gkUC8YE3e9evBUG+t6xwd9Sq+sSOrjcE0qJ8/Y631BCnLzlhX6yhFYQFh1oQDOg== dependencies: "@types/phoenix" "^1.5.4" websocket "^1.0.34" @@ -5266,14 +5262,14 @@ cross-fetch "^3.1.0" "@supabase/supabase-js@^1.35.3": - version "1.35.6" - resolved "https://registry.yarnpkg.com/@supabase/supabase-js/-/supabase-js-1.35.6.tgz#df5a2c132035ab9e5462ed474587902b3e767a66" - integrity sha512-KDRXRr+kdGwruIUizZPALbe5YccMYFVyZJf1sFWKLncaLYSFiM6iKFnqCrNeQ4JFoZZiICkiTl1FUuai62jVpg== + version "1.35.7" + resolved "https://registry.yarnpkg.com/@supabase/supabase-js/-/supabase-js-1.35.7.tgz#2d7a899f12b4772fe3a276a97d1702cedc302c7a" + integrity sha512-X+qCzmj5sH0dozagbLoK7LzysBaWoivO0gsAUAPPBQkQupQWuBfaOqG18gKhlfL0wp2PL888QzhQNScp/IwUfA== dependencies: "@supabase/functions-js" "^1.3.4" "@supabase/gotrue-js" "^1.22.21" "@supabase/postgrest-js" "^0.37.4" - "@supabase/realtime-js" "^1.7.4" + "@supabase/realtime-js" "^1.7.5" "@supabase/storage-js" "^1.7.2" "@surma/rollup-plugin-off-main-thread@^1.1.1": @@ -5505,9 +5501,9 @@ pretty-format "^26.6.2" "@testing-library/dom@^8.1.0", "@testing-library/dom@^8.3.0", "@testing-library/dom@^8.5.0": - version "8.17.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.17.1.tgz#2d7af4ff6dad8d837630fecd08835aee08320ad7" - integrity sha512-KnH2MnJUzmFNPW6RIKfd+zf2Wue8mEKX0M3cpX6aKl5ZXrJM1/c/Pc8c2xDNYQCnJO48Sm5ITbMXgqTr3h4jxQ== + version "8.19.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.19.0.tgz#bd3f83c217ebac16694329e413d9ad5fdcfd785f" + integrity sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" @@ -5566,192 +5562,192 @@ dependencies: "@babel/runtime" "^7.12.5" -"@tiptap/core@^2.0.0-beta.183": - version "2.0.0-beta.183" - resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.183.tgz#b154485378eec59ccb7a2bdf3ea2ba181d74e7c7" - integrity sha512-lbGgIpAVxqcC4mhdA3qdUC1lOpV4N/9FtAk3ZQkN+iwuRx554VZeJeazWMuEXpNE/b4AdYTjX5TG3dxg37ES4A== - dependencies: - prosemirror-commands "1.3.0" - prosemirror-keymap "1.2.0" - prosemirror-model "1.18.1" - prosemirror-schema-list "1.2.0" - prosemirror-state "1.4.1" - prosemirror-transform "1.6.0" - prosemirror-view "1.26.2" - -"@tiptap/extension-blockquote@^2.0.0-beta.29": - version "2.0.0-beta.29" - resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.29.tgz#6f1c4b17efa6457c7776f32d0807e96d848d4389" - integrity sha512-zMYT5TtpKWav9VhTn4JLyMvXmhEdbD6on0MdhcTjRm0I5ugyR4ZbJwh2aelM7G9DZVYzB8jZU18OSDJmo7Af7w== - -"@tiptap/extension-bold@^2.0.0-beta.28": - version "2.0.0-beta.28" - resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.28.tgz#cf67c264a80434ffb2368f3dd37cf357ae0c2064" - integrity sha512-DY8GOzw9xjmTFrnvTbgHUNxTnDfKrkDgrhe0SUvdkT2udntWp8umPdhPiD3vczLgHOJw6tX68qMRjbsR1ZPcHQ== - -"@tiptap/extension-bubble-menu@^2.0.0-beta.62": - version "2.0.0-beta.62" - resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.62.tgz#c1381a80dc61ba10db8ae62aed034a481b9e157b" - integrity sha512-kULfrsizAo5siu77bkr8ftzIIzRsywtizubFfjD9dlR4PPBQb4QN/tN2kIjOQXvWgYPKSLoBKC5E3El4mV7sJQ== - dependencies: - prosemirror-state "1.4.1" - prosemirror-view "1.26.2" +"@tiptap/core@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.199.tgz#77c3d8df10a4594cf5860b8a73d5007b0a020d01" + integrity sha512-34GaXcBEmNFjW1R7nf1LSmOHo3Q81YjKqvLAXjDLLG7MTx+YTrQ4yWwUvMsZtmi4o/FchUzrs1NVCfr571Zxzg== + dependencies: + prosemirror-commands "^1.3.1" + prosemirror-keymap "^1.2.0" + prosemirror-model "^1.18.1" + prosemirror-schema-list "^1.2.2" + prosemirror-state "^1.4.1" + prosemirror-transform "^1.7.0" + prosemirror-view "^1.28.2" + +"@tiptap/extension-blockquote@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.199.tgz#f3957a638d515f6e38cd91eacb59cbedef06af6c" + integrity sha512-BbHKaIkVYgJCV5giJC3/bdXMZWxFylLKiAbOGSGwIsnnS5/oL+V4XN6hqcIDBxlcj3MQ/d9zG0+mvFyjRssAkg== + +"@tiptap/extension-bold@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.199.tgz#edb3dca9ca49ec128611629fbb5d17eaca62c506" + integrity sha512-l513jgGLmt8C69Yuh5Et7a46Tn8QpW4q1HhZK6ih0ajNT+L5Xk0CSxEK/K5EmHSACPhwqjsJztLpGjAdoOn0mA== + +"@tiptap/extension-bubble-menu@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.199.tgz#23a01c4c57f5af2197299d836e18ffe498fd8d67" + integrity sha512-T3K8xoDbX6J62lhIUpclQoW/1XFt7yfI5DCoxtVWUeKaF+pG6kdsB3CPG5C/+AQVlz2jSIJmQuPf8RQFpQs+yg== + dependencies: + prosemirror-state "^1.4.1" + prosemirror-view "^1.28.2" tippy.js "^6.3.7" -"@tiptap/extension-bullet-list@^2.0.0-beta.29": - version "2.0.0-beta.29" - resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.29.tgz#640883e4fffc1a86c7cbd78792688e7edee5ee41" - integrity sha512-R8VB2l1ZB6VeGWx/t/04nBS5Wg3qjIDEZCpPihj2fccJOw99Lu0Ub2UJg/SfdGmeNNpBh4ZYYFv1g/XjyzlXKg== +"@tiptap/extension-bullet-list@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.199.tgz#72df0c94c6a9a5bce97ee1e0180657f1a63ffe18" + integrity sha512-gGRQRqdQqCZQstB3ztSy8yzIdm5/5IIYxhCuFNb3Z9c9p/CzyRmaNqa7XkRLrXSajp4lS0OH8RkFUJqL6U+/9w== -"@tiptap/extension-code-block@^2.0.0-beta.42": - version "2.0.0-beta.42" - resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.42.tgz#2abfd92eb22399fa542aafb3b76dddfb41d87ab5" - integrity sha512-4wzLup4mI8w9ypIceekUV/8g41cQIPn31qs1iC9u1/JuTkjMj/tA+TFUyp6IMugLxoI/P2DlTztU6/6m7n9DyQ== +"@tiptap/extension-code-block@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.199.tgz#145baa37276601bce75ddad55ab4926bc78b28fc" + integrity sha512-ZfftYE1kHA2pD46hXDkeYd1vuxp3bJLS854B2yHfw1cp3JVDjMXzm4Mzg7zLfr+YV1dT/N/fUfdCg38fqEUCyA== dependencies: - prosemirror-state "1.4.1" + prosemirror-state "^1.4.1" -"@tiptap/extension-code@^2.0.0-beta.29": - version "2.0.0-beta.29" - resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.29.tgz#c067cc8d55b0d6e63a1ea801f1f2fea2b312fa30" - integrity sha512-UbdvnbACiSKcewy4T1j4z74tB1j8j8Bh4MzfM1Mv7YelNKNIWLhQTubua63X37JH9dT7fFjAHI3/SpF+SZ5OVg== +"@tiptap/extension-code@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.199.tgz#ab6e2355297b3faddf6ac6e9e02a52eca38c16f6" + integrity sha512-P1U/xYD0MLT7JU2OHb3QoW7+JiPZXizFG/gTYmAHQV/gLH87cmflI7pPnloBdTkeIF0Q/cd6sSd75V9FxR4XJA== -"@tiptap/extension-document@^2.0.0-beta.17": - version "2.0.0-beta.17" - resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.17.tgz#ded4182dd860762bcf41c588f712d83908c472a3" - integrity sha512-L6sg0FNchbtIpQkCSjMmItVGs3/vep8Fq56WRtDc1wBSGUSmtHaxQG7F2FZLnNIUMuvzVMRD81m2vYG73WkY6A== +"@tiptap/extension-document@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.199.tgz#4a9432ab239cc951b4d9903a90d3a7d5597d3318" + integrity sha512-l/3k9N2O4wIMQoN/SM3aIBwOhZ2KRxQoqGJfsbAUUwBURBDiT4N2VZaNiJC/w3xCVQXIxHSIlqtm9ZBcZeiH/Q== -"@tiptap/extension-dropcursor@^2.0.0-beta.29": - version "2.0.0-beta.29" - resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.29.tgz#9ccc9d82cb9f8fa28a59ffc061c4c83ee059a12c" - integrity sha512-I+joyoFB8pfdXUPLMqdNO08nlB5m2lbu0VQ5dpqdi/HzgVThMZPZA1cW0X8vAUvrALs5/JFRiFoR9hrLN5R5ng== +"@tiptap/extension-dropcursor@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.199.tgz#93d04db4ca56614b7b180632456cb9f2098c6156" + integrity sha512-RhdYm0yBJxVLECaHWsZcBIwRJUoUqZ79jvs+kUVodxHW4+IxRAgEA+lImr0GD+kk8aX5Mrk8YhWuUUeu5nzpTg== dependencies: prosemirror-dropcursor "1.5.0" -"@tiptap/extension-floating-menu@^2.0.0-beta.56": - version "2.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.56.tgz#c7428d9109d215bdbd9033f69782c4aadb2aabec" - integrity sha512-j/evHE/6UPGkIgXny9IGcAh0IrcnQmg0b2NBYebs2mqx9xYKYoe+0jVgNdLp/0M3MRgQCzyWTyatBDBFOUR2mw== +"@tiptap/extension-floating-menu@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.199.tgz#f0b0acb64e9b9bfe4935a0bd6b6d1863ea2d39cd" + integrity sha512-ELjqnNbxW66uqg54zlP2b4EVYUWvT2WvHmeOXALzoLlNzbqUopIl3XNRsvU2Dv1W88C1UjKgnRZIkHKFE1X3CA== dependencies: - prosemirror-state "1.4.1" - prosemirror-view "1.26.2" + prosemirror-state "^1.4.1" + prosemirror-view "^1.28.2" tippy.js "^6.3.7" "@tiptap/extension-focus@^2.0.0-beta.39": - version "2.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@tiptap/extension-focus/-/extension-focus-2.0.0-beta.45.tgz#6c277219e2a5a05dd7b05cb5d4c457b0592d6c60" - integrity sha512-TWUs1aDPojckNKE8MtFzt2LjpKuA//O/3XZ5JZOFAdX1g7XgGjlvlgw1PSQCRkLjht9Kt3WsjhcNruHTpZp7Zg== + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-focus/-/extension-focus-2.0.0-beta.199.tgz#dc66ea18434bf9bf245b809893a934a509829942" + integrity sha512-t2ULIdiumTAwl7MVHX6fl2fFLyDSqLIZJnd5W3RvSj7I5xr4SzWnmM4SsXonPLIJke0KL2Ltq6Rk1r2dzGR4DA== dependencies: - prosemirror-state "1.4.1" - prosemirror-view "1.26.2" + prosemirror-state "^1.4.1" + prosemirror-view "^1.28.2" -"@tiptap/extension-gapcursor@^2.0.0-beta.39": - version "2.0.0-beta.39" - resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.39.tgz#b8585d2936df7ca90446758c3af90b46d552a1fb" - integrity sha512-oCyz5WEeQXrEIoa1WXaD52yf1EwMFCXaK1cVzFgUj8lkXJ+nJj+O/Zp0Mg+9/MVR0LYu/kifqVorKNXM4AFA/g== +"@tiptap/extension-gapcursor@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.199.tgz#ec801e30690d1b30183b9751d64615724311be97" + integrity sha512-0TDpDfDyay+IbD+wJMsBJ2c0Cq0NtllUOxbi0NPjjWW94Jrvs1yqUSzX4Qp9m5MW8qP24IV6krgZBM1JyQc6ng== dependencies: - prosemirror-gapcursor "1.3.0" + prosemirror-gapcursor "^1.3.1" -"@tiptap/extension-hard-break@^2.0.0-beta.33": - version "2.0.0-beta.33" - resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.33.tgz#e2f355a22aaaec6e831cf2880c52aa5b0b860573" - integrity sha512-41xf0vSV9hcyTFd01ItLq/CjhjgmOFLCrO3UWN/P2E/cIxuDTyXcvjTE/KXeqRCOV3OYd9fVr0wO91hc8Ij1Yg== +"@tiptap/extension-hard-break@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.199.tgz#6ac23806c4e7e13f15e56cc2e1db7c12248e8091" + integrity sha512-DF2wDo/+gSYRhzGowCvZJk3/j/zYJ22BHxZpkAEmLJ69mWSIqZv3S2/brujnNmnji9c3/+JN7ppPSeVykz0b9Q== -"@tiptap/extension-heading@^2.0.0-beta.29": - version "2.0.0-beta.29" - resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.29.tgz#d017d216c0fd1962c266f6f61a335093f9749862" - integrity sha512-q92jYcsT5bPhvuQaB0h44Z9r+Ii22tDYo082KMVnR4+tknHT/3xx+p4JC8KHjh+/5W8Quyafqy6mS8L8VX0zsQ== +"@tiptap/extension-heading@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.199.tgz#b766de44fd09843364280a03d1e180db346f1ccd" + integrity sha512-WGQ7ET2TBpldrD8JX37OXHXq05LU3OWItIVBs9nKGh4otZTUwPtwfOyMlFfA+IMfQif+ilwLGvUC6EHOw/LwxQ== "@tiptap/extension-highlight@^2.0.0-beta.32": - version "2.0.0-beta.35" - resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.0.0-beta.35.tgz#0738102b23f69f9c8ddada4f05ccb580d1d50133" - integrity sha512-xvEKOyuTj4mhQ8GIOItaSymJhGkWt2gGuCvmFWnTVZAaJJQOlgUTdkmayLCtwoDDP7biiuDhRJokTukGGmhUZw== + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.0.0-beta.199.tgz#e814555b2bf45dd578f5255f1460b867eb395e57" + integrity sha512-tMRL2VTBK99q3UKf+uyM/t5LZJU1ZNHADo3drMYA6BXETjx5WzCBe0qyExZtUGMsWv5bop+Her82r5CKSxFqnQ== -"@tiptap/extension-history@^2.0.0-beta.26": - version "2.0.0-beta.26" - resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.26.tgz#ae4c0ee8d19b3530e72d99cb5d0f69aefcf96d04" - integrity sha512-ly19uwvdmXG8Fw1KcavXIHi3Qx6JBASOR7394zghOEpW3atpY8nd/8I373rZ8eDUcGOClfaF7bCx2xvIotAAnw== +"@tiptap/extension-history@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.199.tgz#ff83184b6f7e0ed9a5c6362cfbc15319a451b960" + integrity sha512-oZMjKHFqqZuUuf0+IG5+OoKw9DIGilG+v8cm2JK9XnxF5CxF6HIXNDWl3552wRIA+Ro7fBRJEJ//hfJzp0Uhjw== dependencies: - prosemirror-history "1.3.0" + prosemirror-history "^1.3.0" -"@tiptap/extension-horizontal-rule@^2.0.0-beta.36": - version "2.0.0-beta.36" - resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.36.tgz#daf8e2d0f30b210a90fdb8f015646653661cfa04" - integrity sha512-o+Zp7dcn3zAQhtlhZiFB69mTHuH3ZRbGEF7Cbf1D3uX1izotni5zIZbPaFFUT4r6OmVe/vDDt/nopfcGc10ktQ== +"@tiptap/extension-horizontal-rule@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.199.tgz#6037b11f5a300ce0921a483d7fbbeea6a5b58f58" + integrity sha512-ISQndGiC6Y3+Ds3OJHKa2iB7s4FkRQxn8US/Hhj4yK7DOifoykLOrgDghwLu0H0dSM8KNb9caYEtmj64vDogNg== dependencies: - prosemirror-state "1.4.1" + prosemirror-state "^1.4.1" -"@tiptap/extension-italic@^2.0.0-beta.28": - version "2.0.0-beta.28" - resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.28.tgz#bf88ecae64c8f2f69f1f508b802c1efd7454a84e" - integrity sha512-/pKRiCfewh7nqiXRD3N4hQHfGrGNOiWPFYZfY35bSpvTms7PDb/MF7xT1CWW23hSpY31BBS+R/a66vlR/gqu7Q== +"@tiptap/extension-italic@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.199.tgz#db24dbdd0d47fdfaa22dde8ba35e2c08b7162e82" + integrity sha512-jaYJr5ZMxU2swK6h1XJr6Wb1LlWOWbvsX/wo59iZ9KVv1AHiKZlCMcWGThy4aoAs/CUT11pB8qbzyOO163LHZg== -"@tiptap/extension-list-item@^2.0.0-beta.23": - version "2.0.0-beta.23" - resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.23.tgz#6d1ac7235462b0bcee196f42bb1871669480b843" - integrity sha512-AkzvdELz3ZnrlZM0r9+ritBDOnAjXHR/8zCZhW0ZlWx4zyKPMsNG5ygivY+xr4QT65NEGRT8P8b2zOhXrMjjMQ== +"@tiptap/extension-list-item@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.199.tgz#2e667f0ea5d9314307427625345e915edf91b989" + integrity sha512-rzcz5MJgoX1M9M9e1iruyRxcwYyYmdCXsl9gB8hhJYh4R+AW1peRmHJ3vVX5oPZXg/tXOMTv/or2x8v30c9tJw== -"@tiptap/extension-ordered-list@^2.0.0-beta.30": - version "2.0.0-beta.30" - resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.30.tgz#1f656b664302d90272c244b2e478d7056203f2a8" - integrity sha512-GRxGQdq1u0Rp5N8TjthCqoZ//460m343A0HCN7UwfQOnX7Ipv0UJemwNkSHWrl7Pexym9vy3yPWgrn7oRRmgEw== +"@tiptap/extension-ordered-list@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.199.tgz#cdc6eb58e94d095013b5182683ce1e31b8733083" + integrity sha512-ciQhBRtNUudQyCgvQKRZ1WbV7Q9IZP82GHEsk+wScZgI0SsrGY8pnfJT7CyF8aPIjkQkccozKVTbyMrjBOqWSw== -"@tiptap/extension-paragraph@^2.0.0-beta.26": - version "2.0.0-beta.26" - resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.26.tgz#5199c8cedb9c076347a2e15cc67442ef7c3c3fbb" - integrity sha512-WcYsuUa7LLfk0vi7I1dVjdMRu53B52FMMqd+UL1qPdDKVkU3DBsZVwPj+yyfQyqN8Mc/xyg9VacGaiKFLmWNDg== +"@tiptap/extension-paragraph@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.199.tgz#34213e6594a1183a77bb33ced49502bafb0a3d1c" + integrity sha512-+BoMCaxlsHqw065zTUNd+ywkvFJzNKbTY461/AlKX2dgHeaO8doXHDQK+9icOpibQvrKaMhOJmuBTgGlJlUUgw== "@tiptap/extension-placeholder@^2.0.0-beta.48": - version "2.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.0.0-beta.53.tgz#df29d813044da9a0e30bf8409335e77f6857c2b2" - integrity sha512-NGU/a+GvcJVBjFqb2vI45+rNa3Cjsq/M+R/2xg9olb1w/HBr17NKf/5WSoqcc1S2cdnmMH6rB0/mVhG7Ciur+Q== + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.0.0-beta.199.tgz#0208c42f8b92a88e66b726353d07b652f09fd823" + integrity sha512-Tdq0r9XQ6hcu4ASvw2Xko6h8uS/xONmMmOFiTkK/54REB3RRQpkdCtXrhFn/T4DunJVBf6FUOLTjYN3SONhuew== dependencies: - prosemirror-model "1.18.1" - prosemirror-state "1.4.1" - prosemirror-view "1.26.2" + prosemirror-model "^1.18.1" + prosemirror-state "^1.4.1" + prosemirror-view "^1.28.2" -"@tiptap/extension-strike@^2.0.0-beta.29": - version "2.0.0-beta.29" - resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.29.tgz#7004d0c5d126b0517fa78efc5a333a4b8e3334bf" - integrity sha512-zqFuY7GfNmZ/KClt6kxQ+msGo3syqucP/Xnlihxi+/h/G+oTvEwyOIXCtDOltvxcsWH/TUsdr5vzLp0j+Mdc6Q== +"@tiptap/extension-strike@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.199.tgz#5fc6e067728009d92027e58a042f18449f2fa264" + integrity sha512-KyN5+d9o9FGvrSiSuh81oo4+XjMDsZVY4UHc9lBY0nAzaGAkJOwkCjk40RfyO5ZJ2GdEEQ6Nh/3YqVMcJTY+rA== -"@tiptap/extension-text@^2.0.0-beta.17": - version "2.0.0-beta.17" - resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.17.tgz#4fdd1bdf62c82c1af6feef91c689906a8f5b171e" - integrity sha512-OyKL+pqWJEtjyd9/mrsuY1kZh2b3LWpOQDWKtd4aWR4EA0efmQG+7FPwcIeAVEh7ZoqM+/ABCnPjN6IjzIrSfg== +"@tiptap/extension-text@^2.0.0-beta.199": + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.199.tgz#0204f3e50622e39b6fd08b5ef72fe7d0199117f5" + integrity sha512-ntOqEhkBjDHrdzxvpPe4U1JB5GgE9/yyWqWdgzSL9lpSndRTJN1xQLOmyuv0qsLqOgBHn1YITHvaxPb3t8FrFw== "@tiptap/react@^2.0.0-beta.105": - version "2.0.0-beta.115" - resolved "https://registry.yarnpkg.com/@tiptap/react/-/react-2.0.0-beta.115.tgz#78108bf90399e0004afdc94d02ae65e3621ff645" - integrity sha512-x8gV0frE8iz63qHCxkQsI2HglNwIvsi6ydASlazIEHGY87q5qT4XWE3yU0HlRmCjJ3OxsuykxWQ0w04P3XBaLw== + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/react/-/react-2.0.0-beta.199.tgz#98f9fb2134fdc385648ed06ea1ec78902c0e99cf" + integrity sha512-AjBtoavcJ7WOoEXdJlrVEdEv6xuI5UFnqB88w8NlORSkWbfQ3uuOm3A0LUZ92/SsBz6NISZbsFahMy0DYgGbIA== dependencies: - "@tiptap/extension-bubble-menu" "^2.0.0-beta.62" - "@tiptap/extension-floating-menu" "^2.0.0-beta.56" - prosemirror-view "1.26.2" + "@tiptap/extension-bubble-menu" "^2.0.0-beta.199" + "@tiptap/extension-floating-menu" "^2.0.0-beta.199" + prosemirror-view "^1.28.2" "@tiptap/starter-kit@^2.0.0-beta.171": - version "2.0.0-beta.192" - resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-2.0.0-beta.192.tgz#6b9a08cc76197f8fd81ed4ad70a9ce16da2ab84c" - integrity sha512-NR3bBvCGy8Cea1VL9ZEhw0q5M/9jeBZhqI2/uX1jYo1mfSE3WxhRD1PPhcvJTePauPBQWHfhFbsu0aSIv0O3NA== - dependencies: - "@tiptap/core" "^2.0.0-beta.183" - "@tiptap/extension-blockquote" "^2.0.0-beta.29" - "@tiptap/extension-bold" "^2.0.0-beta.28" - "@tiptap/extension-bullet-list" "^2.0.0-beta.29" - "@tiptap/extension-code" "^2.0.0-beta.29" - "@tiptap/extension-code-block" "^2.0.0-beta.42" - "@tiptap/extension-document" "^2.0.0-beta.17" - "@tiptap/extension-dropcursor" "^2.0.0-beta.29" - "@tiptap/extension-gapcursor" "^2.0.0-beta.39" - "@tiptap/extension-hard-break" "^2.0.0-beta.33" - "@tiptap/extension-heading" "^2.0.0-beta.29" - "@tiptap/extension-history" "^2.0.0-beta.26" - "@tiptap/extension-horizontal-rule" "^2.0.0-beta.36" - "@tiptap/extension-italic" "^2.0.0-beta.28" - "@tiptap/extension-list-item" "^2.0.0-beta.23" - "@tiptap/extension-ordered-list" "^2.0.0-beta.30" - "@tiptap/extension-paragraph" "^2.0.0-beta.26" - "@tiptap/extension-strike" "^2.0.0-beta.29" - "@tiptap/extension-text" "^2.0.0-beta.17" + version "2.0.0-beta.199" + resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-2.0.0-beta.199.tgz#b0d48784abe711afc2973592467f213f86794c82" + integrity sha512-ToPhccdSAixNhAujBa5VEOg+G6Nkc+JJGaUVEEGH2EV2ICzbhFhcdbAHqI6lNtCFleaX9NULJBGHXEwLR5T83Q== + dependencies: + "@tiptap/core" "^2.0.0-beta.199" + "@tiptap/extension-blockquote" "^2.0.0-beta.199" + "@tiptap/extension-bold" "^2.0.0-beta.199" + "@tiptap/extension-bullet-list" "^2.0.0-beta.199" + "@tiptap/extension-code" "^2.0.0-beta.199" + "@tiptap/extension-code-block" "^2.0.0-beta.199" + "@tiptap/extension-document" "^2.0.0-beta.199" + "@tiptap/extension-dropcursor" "^2.0.0-beta.199" + "@tiptap/extension-gapcursor" "^2.0.0-beta.199" + "@tiptap/extension-hard-break" "^2.0.0-beta.199" + "@tiptap/extension-heading" "^2.0.0-beta.199" + "@tiptap/extension-history" "^2.0.0-beta.199" + "@tiptap/extension-horizontal-rule" "^2.0.0-beta.199" + "@tiptap/extension-italic" "^2.0.0-beta.199" + "@tiptap/extension-list-item" "^2.0.0-beta.199" + "@tiptap/extension-ordered-list" "^2.0.0-beta.199" + "@tiptap/extension-paragraph" "^2.0.0-beta.199" + "@tiptap/extension-strike" "^2.0.0-beta.199" + "@tiptap/extension-text" "^2.0.0-beta.199" "@tokenizer/token@^0.3.0": version "0.3.0" @@ -5763,10 +5759,10 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@truffle/abi-utils@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.3.1.tgz#08390ca44e4f091518c9022b27416f25e6f4339c" - integrity sha512-tieaDgwDm2IH1wJuVF/waREVFvzXHSF6AkQfd71DQwpwnrl/9I1iKu+1WpQyFqxu+6WMfCYhzMEbssQBt4Zniw== +"@truffle/abi-utils@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.3.2.tgz#71184255cfa05a5ded3c7b7fb50a3de813446224" + integrity sha512-32queMD64YKL/tmQgSV4Xs073dIaZ9tp7NP1icjwvFSA3Q9yeu7ApYbSbYMsx9H9zWkkVOsfcoJ2kJEieOCzsA== dependencies: change-case "3.0.2" fast-check "3.1.1" @@ -5777,13 +5773,13 @@ resolved "https://registry.yarnpkg.com/@truffle/blockchain-utils/-/blockchain-utils-0.1.4.tgz#1365b88c3d2922a066d947e93748f09b0fac2e93" integrity sha512-HegAo5A8UX9vE8dtceBRgCY207gOb9wj54c8mNOOWHcFpkyJz7kZYGo44As6Imh10/0hD2j7vHQ56Jf+uszJ3A== -"@truffle/codec@^0.14.4": - version "0.14.4" - resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.14.4.tgz#164839445804f9f304b6e3844a28ef71ac6aacd0" - integrity sha512-il9dFzALUbd1JMPOVcxnIjTQ1fiJEPHfBYbqVQfWZfzAN0Kw+x1eaKunIU+NvrNRycvkXk4itWUTui5sMlXBBA== +"@truffle/codec@^0.14.5": + version "0.14.5" + resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.14.5.tgz#5b1574fb55d20a56af3039adaac7cd9dd421b1fe" + integrity sha512-3FCpTJe6o7LGWUfrSdguMpdpH1PTn3u7bIfbj6Cfdzym2OAVSgxTgdlqC1poepbk0xcOVcUW+EsqNwLMqmBiPA== dependencies: - "@truffle/abi-utils" "^0.3.1" - "@truffle/compile-common" "^0.8.0" + "@truffle/abi-utils" "^0.3.2" + "@truffle/compile-common" "^0.8.1" big.js "^6.0.3" bn.js "^5.1.3" cbor "^5.2.0" @@ -5793,33 +5789,33 @@ utf8 "^3.0.0" web3-utils "1.7.4" -"@truffle/compile-common@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@truffle/compile-common/-/compile-common-0.8.0.tgz#8efcf68c82c2a62651255ebaf4150f222984fd9b" - integrity sha512-3mtEC73dQODTI3/ZwonunVHyPS2BGexXSBIv4pOgMrWwnZPcHlo2+IW2+m2At/DnZehL78bkF993Vti2pJfx6Q== +"@truffle/compile-common@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@truffle/compile-common/-/compile-common-0.8.1.tgz#a3fe500edb880a3104324c9885bbd27b6ce05c54" + integrity sha512-7mzzG9Cfrn+fDT5Sqi7B6pccvIIV5w/GM8/56YgnjysbDzy5aZ6mv0fe37ZbcznEVQ35NJjBy+lEr/ozOGXwQA== dependencies: "@truffle/error" "^0.1.1" colors "1.4.0" -"@truffle/contract-schema@^3.4.7", "@truffle/contract-schema@^3.4.9": - version "3.4.9" - resolved "https://registry.yarnpkg.com/@truffle/contract-schema/-/contract-schema-3.4.9.tgz#57119245452e49f7b1ea6c71900bb6c053d76c8c" - integrity sha512-nhYMXWbUs6dMYHL1f8DTkRk/uo1sADK0yeSYXo/p/7nqnjlHzqrr75BBsKbB7OFIVT05des+GFNQJqBaRZVdxQ== +"@truffle/contract-schema@^3.4.10", "@truffle/contract-schema@^3.4.7": + version "3.4.10" + resolved "https://registry.yarnpkg.com/@truffle/contract-schema/-/contract-schema-3.4.10.tgz#c11a814c13ad55a5e454fb35ddfa291ae0d24ace" + integrity sha512-BhRNRoRvlj2th6E5RNS0BnS0ZxQe01JJz8I7MjkGqdeXSvrn6qDCAnbmvhNgUv0l5h8w5+gBOQhAJhILf1shdQ== dependencies: ajv "^6.10.0" debug "^4.3.1" "@truffle/contract@^4.0.35", "@truffle/contract@^4.2.6": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@truffle/contract/-/contract-4.6.0.tgz#e7d6292235c6909c9026ff1fe6dfa9bbf66e5f04" - integrity sha512-FxSR7WtV1q+1AKHhJmsbd360qFFjtkGPQeJfaDcn7wlOPG+axW9iLqLSUTlRpFkPKJnUILg2FujNM965rIQJtg== + version "4.6.2" + resolved "https://registry.yarnpkg.com/@truffle/contract/-/contract-4.6.2.tgz#6c117e54c9d103bc1d82ff8f225cbe34265c2982" + integrity sha512-OZZIDmKtHgZS2Q6sCczNe8OfTuMWpRaAo3vwY49LGGs0VXLiwc7nIcCFh+bMg14IRK6vBN4pWE9W9eWSBFy31Q== dependencies: "@ensdomains/ensjs" "^2.1.0" "@truffle/blockchain-utils" "^0.1.4" - "@truffle/contract-schema" "^3.4.9" - "@truffle/debug-utils" "^6.0.34" + "@truffle/contract-schema" "^3.4.10" + "@truffle/debug-utils" "^6.0.35" "@truffle/error" "^0.1.1" - "@truffle/interface-adapter" "^0.5.21" + "@truffle/interface-adapter" "^0.5.22" bignumber.js "^7.2.1" debug "^4.3.1" ethers "^4.0.32" @@ -5829,12 +5825,12 @@ web3-eth-abi "1.7.4" web3-utils "1.7.4" -"@truffle/debug-utils@^6.0.22", "@truffle/debug-utils@^6.0.34": - version "6.0.34" - resolved "https://registry.yarnpkg.com/@truffle/debug-utils/-/debug-utils-6.0.34.tgz#4311902f561b188af4a578b7e0171e9070df65ae" - integrity sha512-GbGnC9ESJXYHjzQKOV6yeFzvXDnW1yIvpfHXyc4PMDnnFoqX2OxP8mGmMzFKW2Uhqg89wl4GMPLuxycMkodWrw== +"@truffle/debug-utils@^6.0.22", "@truffle/debug-utils@^6.0.35": + version "6.0.35" + resolved "https://registry.yarnpkg.com/@truffle/debug-utils/-/debug-utils-6.0.35.tgz#c9e93d9968857bae14789737f986b8d601a03eb2" + integrity sha512-GuLsc+GFEYiUM683GWh4/ol3jkBts5a601detVWu1Xo5/bSL5gxooOjgOTovjA8dimCjkyi/DnK2yHHC+q+g0g== dependencies: - "@truffle/codec" "^0.14.4" + "@truffle/codec" "^0.14.5" "@trufflesuite/chromafi" "^3.0.0" bn.js "^5.1.3" chalk "^2.4.2" @@ -5860,10 +5856,10 @@ ethereumjs-util "^6.1.0" ethereumjs-wallet "^1.0.1" -"@truffle/interface-adapter@^0.5.16", "@truffle/interface-adapter@^0.5.21": - version "0.5.21" - resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.21.tgz#f22c99b7cb5d5c4ebbb6106f9274ea844baeaa2b" - integrity sha512-2ltbu3upsWS0TAQu1kLQc048XlXNmDkCzH6iebX4dg3VBB+l7oG/pu5+/kl8t+LRfzGoEMLKwOQt7vk0Vm3PNA== +"@truffle/interface-adapter@^0.5.16", "@truffle/interface-adapter@^0.5.22": + version "0.5.22" + resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.22.tgz#a25677cce02e3ce192d8d88fbbb11c116cc05334" + integrity sha512-Bgl5Afb1mPVNedI8CJzZQzVIdrZWSXISTBrXPZmppD4Q+6V1RUzlLxiaGGB4gYHOA+U0pBzD8MCcSycPAD9RsA== dependencies: bn.js "^5.1.3" ethers "^4.0.32" @@ -6038,9 +6034,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.18.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.1.tgz#ce5e2c8c272b99b7a9fd69fa39f0b4cd85028bd9" - integrity sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA== + version "7.18.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" + integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== dependencies: "@babel/types" "^7.3.0" @@ -6159,18 +6155,18 @@ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.30" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz#0f2f99617fa8f9696170c46152ccf7500b34ac04" - integrity sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ== + version "4.17.31" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" + integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + version "4.17.14" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" + integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -6267,9 +6263,9 @@ "@types/istanbul-lib-report" "*" "@types/jest@*": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.0.0.tgz#bc66835bf6b09d6a47e22c21d7f5b82692e60e72" - integrity sha512-X6Zjz3WO4cT39Gkl0lZ2baFRaEMqJl5NC1OjElkwtNzAlbkr2K/WJXkBkH5VP0zx4Hgsd2TZYdOEfvp2Dxia+Q== + version "29.1.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.1.2.tgz#7ad8077043ab5f6c108c8111bcc1d224e5600a87" + integrity sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -6307,9 +6303,9 @@ "@types/node" "*" "@types/lodash@^4.14.167": - version "4.14.184" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" - integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== + version "4.14.186" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.186.tgz#862e5514dd7bd66ada6c70ee5fce844b06c8ee97" + integrity sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw== "@types/long@^4.0.1": version "4.0.2" @@ -6369,9 +6365,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0": - version "18.7.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.16.tgz#0eb3cce1e37c79619943d2fd903919fc30850601" - integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg== + version "18.8.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.8.3.tgz#ce750ab4017effa51aed6a7230651778d54e327c" + integrity sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w== "@types/node@^12.12.54", "@types/node@^12.12.6": version "12.20.55" @@ -6379,14 +6375,14 @@ integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0", "@types/node@^16.11.7": - version "16.11.58" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.58.tgz#0a3698dee3492617a8d5fe7998d18d7520b63026" - integrity sha512-uMVxJ111wpHzkx/vshZFb6Qni3BOMnlWLq7q9jrwej7Yw/KvjsEbpxCCxw+hLKxexFMc8YmpG8J9tnEe/rKsIg== + version "16.11.64" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.64.tgz#9171f327298b619e2c52238b120c19056415d820" + integrity sha512-z5hPTlVFzNwtJ2LNozTpJcD1Cu44c4LNuzaq1mwxmiHWQh2ULdR6Vjwo1UGldzRpzL0yUEdZddnfqGW2G70z6Q== "@types/node@^14.14.31", "@types/node@^14.6.2": - version "14.18.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.28.tgz#ddb82da2fff476a8e827e8773c84c19d9c235278" - integrity sha512-CK2fnrQlIgKlCV3N2kM+Gznb5USlwA1KFX3rJVHmgVk6NJxFPuQ86pAcvKnu37IA4BGlSRz7sEE1lHL1aLZ/eQ== + version "14.18.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.31.tgz#4b873dea3122e71af4f77e65ec5841397ff254d3" + integrity sha512-vQAnaReSQkEDa8uwAyQby8bYGKu84R/deEc6mg5T8fX6gzCn8QW6rziSgsti1fNvsrswKUKPnVTi7uoB+u62Mw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -6421,9 +6417,9 @@ integrity sha512-L5eZmzw89eXBKkiqVBcJfU1QGx9y+wurRIEgt0cuLH0hwNtVUxtx+6cu0R2STwWj468sjXyBYPYDtGclUd1kjQ== "@types/prettier@^2.1.1", "@types/prettier@^2.1.5": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc" - integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== + version "2.7.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" + integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== "@types/pretty-hrtime@^1.0.0": version "1.0.1" @@ -6486,17 +6482,17 @@ "@types/react-router" "*" "@types/react-router@*": - version "5.1.18" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.18.tgz#c8851884b60bc23733500d86c1266e1cfbbd9ef3" - integrity sha512-YYknwy0D0iOwKQgz9v8nOzt2J6l4gouBmDnWqUUznltOTaon+r8US8ky8HvN0tXvc38U9m6z/t2RsVsnd1zM0g== + version "5.1.19" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.19.tgz#9b404246fba7f91474d7008a3d48c17b6e075ad6" + integrity sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA== dependencies: "@types/history" "^4.7.11" "@types/react" "*" "@types/react@*", "@types/react@^18.0.17": - version "18.0.18" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.18.tgz#9f16f33d57bc5d9dca848d12c3572110ff9429ac" - integrity sha512-6hI08umYs6NaiHFEEGioXnxJ+oEhY3eRz8VCUaudZmGdtvPviCJB8mgaMxaDWAdPSYd4eFavrPk2QIolwbLYrg== + version "18.0.21" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.21.tgz#b8209e9626bb00a34c76f55482697edd2b43cc67" + integrity sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -6693,9 +6689,9 @@ "@types/yargs-parser" "*" "@types/yargs@^17.0.8": - version "17.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz#0745ff3e4872b4ace98616d4b7e37ccbd75f9526" - integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== dependencies: "@types/yargs-parser" "*" @@ -6707,91 +6703,90 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^5.5.0": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" - integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz#778b2d9e7f293502c7feeea6c74dca8eb3e67511" + integrity sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A== dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/type-utils" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@typescript-eslint/scope-manager" "5.39.0" + "@typescript-eslint/type-utils" "5.39.0" + "@typescript-eslint/utils" "5.39.0" debug "^4.3.4" - functional-red-black-tree "^1.0.1" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" "@typescript-eslint/experimental-utils@^5.0.0", "@typescript-eslint/experimental-utils@^5.3.0": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.36.2.tgz#66a2b07f69595c55e718bf5a0a70a73413daa8e9" - integrity sha512-JtRmWb31KQoxGV6CHz8cI+9ki6cC7ciZepXYpCLxsdAtQlBrRBxh5Qpe/ZHyJFOT9j7gyXE+W0shWzRLPfuAFQ== + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.39.0.tgz#9263bb72b57449cc2f07ffb7fd4e12d0160b7f5e" + integrity sha512-n5N9kG/oGu2xXhHzsWzn94s6CWoiUj59FPU2dF2IQZxPftw+q6Jm5sV2vj5qTgAElRooHhrgtl2gxBQDCPt6WA== dependencies: - "@typescript-eslint/utils" "5.36.2" + "@typescript-eslint/utils" "5.39.0" "@typescript-eslint/parser@^5.5.0": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" - integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.39.0.tgz#93fa0bc980a3a501e081824f6097f7ca30aaa22b" + integrity sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA== dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" + "@typescript-eslint/scope-manager" "5.39.0" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/typescript-estree" "5.39.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" - integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== +"@typescript-eslint/scope-manager@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz#873e1465afa3d6c78d8ed2da68aed266a08008d0" + integrity sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw== dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/visitor-keys" "5.39.0" -"@typescript-eslint/type-utils@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" - integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== +"@typescript-eslint/type-utils@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz#0a8c00f95dce4335832ad2dc6bc431c14e32a0a6" + integrity sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA== dependencies: - "@typescript-eslint/typescript-estree" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@typescript-eslint/typescript-estree" "5.39.0" + "@typescript-eslint/utils" "5.39.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" - integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== +"@typescript-eslint/types@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.39.0.tgz#f4e9f207ebb4579fd854b25c0bf64433bb5ed78d" + integrity sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw== -"@typescript-eslint/typescript-estree@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" - integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== +"@typescript-eslint/typescript-estree@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz#c0316aa04a1a1f4f7f9498e3c13ef1d3dc4cf88b" + integrity sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA== dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/visitor-keys" "5.39.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.36.2", "@typescript-eslint/utils@^5.13.0": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" - integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== +"@typescript-eslint/utils@5.39.0", "@typescript-eslint/utils@^5.13.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.39.0.tgz#b7063cca1dcf08d1d21b0d91db491161ad0be110" + integrity sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" + "@typescript-eslint/scope-manager" "5.39.0" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/typescript-estree" "5.39.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" - integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== +"@typescript-eslint/visitor-keys@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz#8f41f7d241b47257b081ddba5d3ce80deaae61e2" + integrity sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg== dependencies: - "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/types" "5.39.0" eslint-visitor-keys "^3.3.0" "@uiw/react-markdown-preview@^1.0.2": @@ -7383,9 +7378,9 @@ abortable-iterator@^3.0.0, abortable-iterator@^3.0.2: get-iterator "^1.0.2" abortcontroller-polyfill@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz#1b5b487bd6436b5b764fd52a612509702c3144b5" - integrity sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q== + version "1.7.5" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" + integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== abstract-level@^1.0.0, abstract-level@^1.0.2, abstract-level@^1.0.3: version "1.0.3" @@ -7492,9 +7487,9 @@ acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== address@^1.0.1, address@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9" - integrity sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig== + version "1.2.1" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.1.tgz#25bb61095b7522d65b357baa11bc05492d4c8acd" + integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -7690,9 +7685,9 @@ ansi-styles@^5.0.0: integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + version "6.1.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.1.tgz#63cd61c72283a71cb30bd881dbb60adada74bc70" + integrity sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg== ansi-to-html@^0.6.11: version "0.6.15" @@ -8101,13 +8096,13 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.8: - version "10.4.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" - integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== +autoprefixer@^10.4.11: + version "10.4.12" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" + integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== dependencies: - browserslist "^4.21.3" - caniuse-lite "^1.0.30001373" + browserslist "^4.21.4" + caniuse-lite "^1.0.30001407" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -8518,13 +8513,13 @@ babel-plugin-named-asset-import@^0.3.8: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== -babel-plugin-polyfill-corejs2@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" - integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" semver "^6.1.1" babel-plugin-polyfill-corejs3@^0.1.0: @@ -8535,20 +8530,20 @@ babel-plugin-polyfill-corejs3@^0.1.0: "@babel/helper-define-polyfill-provider" "^0.1.5" core-js-compat "^3.8.1" -babel-plugin-polyfill-corejs3@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" - integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - core-js-compat "^3.21.0" + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" -babel-plugin-polyfill-regenerator@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" - integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw== +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" babel-plugin-react-docgen@^4.1.0, babel-plugin-react-docgen@^4.2.1: version "4.2.1" @@ -9150,16 +9145,16 @@ bigint-buffer@^1.1.5: bindings "^1.3.0" bigint-crypto-utils@^3.0.23: - version "3.1.5" - resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.1.5.tgz#4d393a9de45ded8844c7b983bc27ce527c65c9ec" - integrity sha512-0moCFXUXO0kBSR6+saQlhyhvTds2XM6O5RIfbMIEqArDH5hdx8MpMr5SWfbI3hW/UZgbWbWjky4Fvuf+1hQ3uw== + version "3.1.7" + resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.1.7.tgz#c4c1b537c7c1ab7aadfaecf3edfd45416bf2c651" + integrity sha512-zpCQpIE2Oy5WIQpjC9iYZf8Uh9QqoS51ZCooAcNvzv1AQ3VWdT52D0ksr1+/faeK8HVIej1bxXcP75YcqH3KPA== dependencies: bigint-mod-arith "^3.1.0" bigint-mod-arith@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bigint-mod-arith/-/bigint-mod-arith-3.1.0.tgz#ee7186ff512248e245f8c6ed0aa5c0ccf0c116b4" - integrity sha512-vpiKCiv9B1nK8HhFOU7PMC4k9nrufQxeivgCj5yOH2ZMLD+UPwc/RfNgBCX+v8C6t0sF4q7mEZgZij6k53zpWA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz#658e416bc593a463d97b59766226d0a3021a76b1" + integrity sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ== bignumber.js@*, bignumber.js@^9.0.0, bignumber.js@^9.0.1, bignumber.js@^9.0.2: version "9.1.0" @@ -9302,10 +9297,10 @@ bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0, bn.js@^5.2 resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -body-parser@1.20.0, body-parser@^1.16.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" - integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== +body-parser@1.20.1, body-parser@^1.16.0: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: bytes "3.1.2" content-type "~1.0.4" @@ -9315,7 +9310,7 @@ body-parser@1.20.0, body-parser@^1.16.0: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.10.3" + qs "6.11.0" raw-body "2.5.1" type-is "~1.6.18" unpipe "1.0.0" @@ -9657,15 +9652,15 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.3: - version "4.21.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" - integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.20.3, browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== dependencies: - caniuse-lite "^1.0.30001370" - electron-to-chromium "^1.4.202" + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" node-releases "^2.0.6" - update-browserslist-db "^1.0.5" + update-browserslist-db "^1.0.9" bs58@^2.0.1: version "2.0.1" @@ -9728,6 +9723,11 @@ buffer-from@^1.0.0, buffer-from@^1.1.1: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-reverse@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60" + integrity sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg== + buffer-to-arraybuffer@^0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" @@ -9796,6 +9796,13 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + byteman@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/byteman/-/byteman-1.3.5.tgz#d6061f7536c7e7c4bcb756037ef9c4c266ec51fd" @@ -9950,7 +9957,7 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -caip@^1.0.0, caip@^1.1.0, caip@~1.1.0: +caip@^1.1.0, caip@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/caip/-/caip-1.1.0.tgz#0ccd5bf1bff822459389ccec0a8555712a30c374" integrity sha512-yOO3Fu4ygyKYAdznuoaqschMKIZzcdgyMpBNtrIfrUhnOeaOWG+dh0c13wcOS6B/46IGGbncoyzJlio79jU7rw== @@ -10056,10 +10063,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001393" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz#1aa161e24fe6af2e2ccda000fc2b94be0b0db356" - integrity sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: + version "1.0.30001418" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz#5f459215192a024c99e3e3a53aac310fc7cf24e6" + integrity sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg== canonicalize@^1.0.8: version "1.0.8" @@ -10120,19 +10127,6 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -ceramic-cacao@^1.1.1, ceramic-cacao@^1.3.1, ceramic-cacao@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ceramic-cacao/-/ceramic-cacao-1.4.0.tgz#1c8da40bceb59813474c1b0c81359f27a3c8ceed" - integrity sha512-Vc4qsPSBGWmmNLTKBUNeuDU4xlLU5dY1atHwoBiYrjCRq2NKScW+aB+msJCKns6YpkzJW/trTMs72roN1WLvzQ== - dependencies: - "@ethersproject/wallet" "^5.5.0" - "@ipld/dag-cbor" "^7.0.1" - "@stablelib/ed25519" "^1.0.2" - apg-js "^4.1.1" - caip "^1.0.0" - multiformats "^9.5.1" - uint8arrays "^3.0.0" - chai-bn@^0.2.1: version "0.2.2" resolved "https://registry.yarnpkg.com/chai-bn/-/chai-bn-0.2.2.tgz#4dcf30dbc79db2378a00781693bc749c972bf34f" @@ -10380,9 +10374,9 @@ ci-info@^2.0.0: integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0, ci-info@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" - integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== + version "3.5.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.5.0.tgz#bfac2a29263de4c829d806b1ab478e35091e171f" + integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw== cids@^0.7.1: version "0.7.5" @@ -10445,9 +10439,9 @@ classic-level@^1.2.0: node-gyp-build "^4.3.0" classnames@^2.2.6: - version "2.3.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== clean-css@^4.2.3: version "4.2.4" @@ -10495,9 +10489,9 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-table3@^0.6.1, cli-table3@~0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" - integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== dependencies: string-width "^4.2.0" optionalDependencies: @@ -10835,9 +10829,9 @@ commander@^8.3.0: integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== commander@^9.3.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== + version "9.4.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== common-path-prefix@^3.0.0: version "3.0.0" @@ -11051,17 +11045,17 @@ copy-to-clipboard@^3.3.1: dependencies: toggle-selection "^1.0.6" -core-js-compat@^3.21.0, core-js-compat@^3.22.1, core-js-compat@^3.8.1: - version "3.25.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.1.tgz#6f13a90de52f89bbe6267e5620a412c7f7ff7e42" - integrity sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw== +core-js-compat@^3.25.1, core-js-compat@^3.8.1: + version "3.25.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.5.tgz#0016e8158c904f7b059486639e6e82116eafa7d9" + integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA== dependencies: - browserslist "^4.21.3" + browserslist "^4.21.4" -core-js-pure@^3.20.2, core-js-pure@^3.8.1: - version "3.25.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.25.1.tgz#79546518ae87cc362c991d9c2d211f45107991ee" - integrity sha512-7Fr74bliUDdeJCBMxkkIuQ4xfxn/SwrVg+HkJUAoNEXVqYLv55l6Af0dJ5Lq2YBUW9yKqSkLXaS5SYPK6MGa/A== +core-js-pure@^3.25.1, core-js-pure@^3.8.1: + version "3.25.5" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.25.5.tgz#79716ba54240c6aa9ceba6eee08cf79471ba184d" + integrity sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg== core-js@3.6.5: version "3.6.5" @@ -11074,9 +11068,9 @@ core-js@^2.4.0, core-js@^2.5.0: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.0.4, core-js@^3.19.2, core-js@^3.6.4, core-js@^3.6.5, core-js@^3.8.2: - version "3.25.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.1.tgz#5818e09de0db8956e16bf10e2a7141e931b7c69c" - integrity sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ== + version "3.25.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.5.tgz#e86f651a2ca8a0237a5f064c2fe56cef89646e27" + integrity sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw== core-util-is@1.0.2: version "1.0.2" @@ -11290,6 +11284,11 @@ crypto-browserify@3.12.0, crypto-browserify@^3.0.0, crypto-browserify@^3.11.0, c randombytes "^2.0.0" randomfill "^1.0.3" +crypto-js@^3.1.9-1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" + integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== + crypto-js@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" @@ -11540,14 +11539,14 @@ cssstyle@^2.3.0: cssom "~0.3.6" csstype@^2.5.7: - version "2.6.20" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda" - integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== + version "2.6.21" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" + integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== csstype@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" - integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== currently-unhandled@^0.4.1: version "0.4.1" @@ -11574,9 +11573,9 @@ cypress-wait-until@1.7.2, cypress-wait-until@^1.7.2: integrity sha512-uZ+M8/MqRcpf+FII/UZrU7g1qYZ4aVlHcgyVopnladyoBrpoaMJ4PKZDrdOJ05H5RHbr7s9Tid635X3E+ZLU/Q== cypress@*: - version "10.7.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.7.0.tgz#2d37f8b9751c6de33ee48639cb7e67a2ce593231" - integrity sha512-gTFvjrUoBnqPPOu9Vl5SBHuFlzx/Wxg/ZXIz2H4lzoOLFelKeF7mbwYUOzgzgF0oieU2WhJAestQdkgwJMMTvQ== + version "10.9.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.9.0.tgz#273a61a6304766f9d6423e5ac8d4a9a11ed8b485" + integrity sha512-MjIWrRpc+bQM9U4kSSdATZWZ2hUqHGFEQTF7dfeZRa4MnalMtc88FIE49USWP2ZVtfy5WPBcgfBX+YorFqGElA== dependencies: "@cypress/request" "^2.88.10" "@cypress/xvfb" "^1.2.4" @@ -11597,7 +11596,7 @@ cypress@*: dayjs "^1.10.4" debug "^4.3.2" enquirer "^2.3.6" - eventemitter2 "^6.4.3" + eventemitter2 "6.4.7" execa "4.1.0" executable "^4.1.1" extract-zip "2.0.1" @@ -11909,9 +11908,9 @@ decamelize@^4.0.0: integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== decimal.js@^10.2.1: - version "10.4.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.0.tgz#97a7448873b01e92e5ff9117d89a7bca8e63e0fe" - integrity sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg== + version "10.4.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.1.tgz#be75eeac4a2281aace80c1a8753587c27ef053e7" + integrity sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw== decode-uri-component@^0.2.0: version "0.2.0" @@ -11988,9 +11987,9 @@ default-gateway@^6.0.2, default-gateway@^6.0.3: execa "^5.0.0" default-require-extensions@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" - integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" + integrity sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw== dependencies: strip-bom "^4.0.0" @@ -12177,12 +12176,12 @@ detect-port-alt@^1.1.6: debug "^2.6.0" detect-port@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" - integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== + version "1.5.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== dependencies: address "^1.0.1" - debug "^2.6.0" + debug "4" detective@^5.2.0, detective@^5.2.1: version "5.2.1" @@ -12239,12 +12238,13 @@ did-session@^1.0.0: uint8arrays "^3.0.0" dids@^3.2.0, dids@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/dids/-/dids-3.3.0.tgz#f58e69ca0a16703eeb7d54f7ee04cdfb5532c13c" - integrity sha512-YnfyaJd1PtnEjZ5r+kJKnNc5LybHg5GaHTSqfzUydNanoZKMT/45ioI4PmbJzmf3IWqMFf2/nk8mU83AwYiS7g== + version "3.4.0" + resolved "https://registry.yarnpkg.com/dids/-/dids-3.4.0.tgz#ac37c914c8d862bb7619515a5deb11ef19c988a3" + integrity sha512-hXHkOTL9E5R4rbQwDVOktiiEq57Y6yWOEYjev1ojOpMr2Rkx9g8bw0v6BQIsbPB94aaYxUCtaejNl2FrublfiA== dependencies: + "@didtools/cacao" "^1.0.0" + "@didtools/pkh-ethereum" "^0.0.1" "@stablelib/random" "^1.0.1" - ceramic-cacao "^1.3.1" dag-jose-utils "^2.0.0" did-jwt "^6.0.0" did-resolver "^3.1.5" @@ -12562,9 +12562,9 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -"dxdao-contracts@https://github.com/DXgovernance/dxdao-contracts.git#develop": +"dxdao-contracts@https://github.com/MiltonTulli/dxdao-contracts#execute-signed-votes": version "1.0.0" - resolved "https://github.com/DXgovernance/dxdao-contracts.git#50db3f0754b5ea1a46342857b9520fa0c5250221" + resolved "https://github.com/MiltonTulli/dxdao-contracts#22e59c02dd290ef737736eda6df958d76bfb53b7" dependencies: "@maticnetwork/eth-decoder" "^0.0.4" "@openzeppelin/contracts" "4.4.0" @@ -12575,6 +12575,7 @@ duplexify@^3.4.2, duplexify@^3.6.0: chai "^4.2.0" ipfs-core "^0.14.1" math "0.0.3" + merkletreejs "^0.2.32" moment "^2.27.0" openzeppelin-solidity "2.4.0" prettier "^2.0.5" @@ -12630,16 +12631,16 @@ electron-eval@^0.9.0: headless "https://github.com/paulkernfeld/node-headless/tarball/master" electron-fetch@^1.7.2: - version "1.7.4" - resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769" - integrity sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw== + version "1.9.1" + resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.9.1.tgz#e28bfe78d467de3f2dec884b1d72b8b05322f30f" + integrity sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA== dependencies: encoding "^0.1.13" -electron-to-chromium@^1.3.47, electron-to-chromium@^1.4.202: - version "1.4.246" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.246.tgz#802132d1bbd3ff32ce82fcd6a6ed6ab59b4366dc" - integrity sha512-/wFCHUE+Hocqr/LlVGsuKLIw4P2lBWwFIDcNMDpJGzyIysQV4aycpoOitAs32FT94EHKnNqDR/CVZJFbXEufJA== +electron-to-chromium@^1.3.47, electron-to-chromium@^1.4.251: + version "1.4.276" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz#17837b19dafcc43aba885c4689358b298c19b520" + integrity sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ== electron-webrtc@^0.3.0: version "0.3.0" @@ -12702,9 +12703,9 @@ emittery@^0.8.1: integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== emoji-regex@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.1.0.tgz#d50e383743c0f7a5945c47087295afc112e3cf66" - integrity sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== + version "10.2.1" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.2.1.tgz#a41c330d957191efd3d9dfe6e1e8e1e9ab048b3f" + integrity sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA== emoji-regex@^7.0.1: version "7.0.3" @@ -12868,21 +12869,21 @@ error-stack-parser@^2.0.6: stackframe "^1.3.4" es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.0, es-abstract@^1.20.1: - version "1.20.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.2.tgz#8495a07bc56d342a3b8ea3ab01bd986700c2ccb3" - integrity sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ== + version "1.20.4" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" + integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" - get-intrinsic "^1.1.2" + get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" has "^1.0.3" has-property-descriptors "^1.0.0" has-symbols "^1.0.3" internal-slot "^1.0.3" - is-callable "^1.2.4" + is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" @@ -12892,6 +12893,7 @@ es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19 object-keys "^1.1.1" object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" string.prototype.trimend "^1.0.5" string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" @@ -13221,9 +13223,9 @@ eslint-plugin-testing-library@5.2.1: "@typescript-eslint/utils" "^5.13.0" eslint-plugin-testing-library@^5.0.1: - version "5.6.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.6.3.tgz#98878d3dbf4910f175d1ec0a3417ede147f3fc6e" - integrity sha512-//fhmCzopr8UDv5X2M3XMGxQ0j6KjKYZ+6PGqdV0woLiXTSTOAzuNsiTELGv883iCeUrYrnHhtObPXyiTMytVQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.2.tgz#c1b2112a40aab61f93e10859e8b2d81e54f0ce84" + integrity sha512-0ZmHeR/DUUgEzW8rwUBRWxuqntipDtpvxK0hymdHnLlABryJkzd+CAHr+XnISaVsTisZ5MLHp6nQF+8COHLLTA== dependencies: "@typescript-eslint/utils" "^5.13.0" @@ -13365,13 +13367,12 @@ eslint@7.32.0: v8-compile-cache "^2.0.3" eslint@^8.3.0: - version "8.23.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" - integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== + version "8.25.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.25.0.tgz#00eb962f50962165d0c4ee3327708315eaa8058b" + integrity sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A== dependencies: - "@eslint/eslintrc" "^1.3.1" - "@humanwhocodes/config-array" "^0.10.4" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + "@eslint/eslintrc" "^1.3.3" + "@humanwhocodes/config-array" "^0.10.5" "@humanwhocodes/module-importer" "^1.0.1" ajv "^6.10.0" chalk "^4.0.0" @@ -13388,7 +13389,6 @@ eslint@^8.3.0: fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" globals "^13.15.0" globby "^11.1.0" @@ -13397,6 +13397,7 @@ eslint@^8.3.0: import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -13772,6 +13773,14 @@ ethereum-ens@^0.8.0: underscore "^1.8.3" web3 "^1.0.0-beta.34" +ethereum-multicall@^2.15.0: + version "2.15.0" + resolved "https://registry.yarnpkg.com/ethereum-multicall/-/ethereum-multicall-2.15.0.tgz#31706ab90fde3c4a204e9e2b094871619e6dbff8" + integrity sha512-Xyr/N9NYF4INiUKyg7k2AVjPMnpvRBVVZ4hSHenJF9sGBmVy3ZnSAXtLduWFBz/jogEx+mihfHRiaFkKM0yzWw== + dependencies: + "@ethersproject/providers" "^5.0.10" + ethers "^5.0.15" + ethereum-protocol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz#b7d68142f4105e0ae7b5e178cf42f8d4dc4b93cf" @@ -14063,10 +14072,10 @@ ethers@^4.0.0-beta.1, ethers@^4.0.32, ethers@^4.0.45: uuid "2.0.1" xmlhttprequest "1.8.0" -ethers@^5.0.13, ethers@^5.0.24, ethers@^5.5.2: - version "5.7.0" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.0.tgz#0055da174b9e076b242b8282638bc94e04b39835" - integrity sha512-5Xhzp2ZQRi0Em+0OkOcRHxPzCfoBfgtOQA+RUylSkuHbhTEaQklnYi2hsWbRgs3ztJsXVXd9VKBcO1ScWL8YfA== +ethers@^5.0.13, ethers@^5.0.15, ethers@^5.0.24, ethers@^5.5.2: + version "5.7.1" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.1.tgz#48c83a44900b5f006eb2f65d3ba6277047fd4f33" + integrity sha512-5krze4dRLITX7FpU8J4WscXqADiKmyeNlylmmDLbS95DaZpBhDe2YSwRQwKXWNyXcox7a3gBgm/MkGXV1O1S/Q== dependencies: "@ethersproject/abi" "5.7.0" "@ethersproject/abstract-provider" "5.7.0" @@ -14083,10 +14092,10 @@ ethers@^5.0.13, ethers@^5.0.24, ethers@^5.5.2: "@ethersproject/json-wallets" "5.7.0" "@ethersproject/keccak256" "5.7.0" "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.0" + "@ethersproject/networks" "5.7.1" "@ethersproject/pbkdf2" "5.7.0" "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.0" + "@ethersproject/providers" "5.7.1" "@ethersproject/random" "5.7.0" "@ethersproject/rlp" "5.7.0" "@ethersproject/sha2" "5.7.0" @@ -14096,7 +14105,7 @@ ethers@^5.0.13, ethers@^5.0.24, ethers@^5.5.2: "@ethersproject/transactions" "5.7.0" "@ethersproject/units" "5.7.0" "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.0" + "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" etherscan-api@10.0.5: @@ -14156,10 +14165,15 @@ event-target-shim@^5.0.0: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== +eventemitter2@6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" + integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== + eventemitter2@^6.4.3: - version "6.4.8" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.8.tgz#a3dca5a7015b4fca8aa67121386cfe07c38946ff" - integrity sha512-pAJurPyD+Nj/pfz8m0usKF1RW0E9gfY4Dfdem2l6jZbqcZlK8SP93qUMCv9V9FgOn+GSZEW6qeaglpf/vQ9D5A== + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== eventemitter3@4.0.4: version "4.0.4" @@ -14273,24 +14287,24 @@ expect@^27.5.1: jest-message-util "^27.5.1" expect@^29.0.0: - version "29.0.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.0.2.tgz#22c7132400f60444b427211f1d6bb604a9ab2420" - integrity sha512-JeJlAiLKn4aApT4pzUXBVxl3NaZidWIOdg//smaIlP9ZMBDkHZGFd9ubphUZP9pUyDEo7bC6M0IIZR51o75qQw== + version "29.1.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.1.2.tgz#82f8f28d7d408c7c68da3a386a490ee683e1eced" + integrity sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw== dependencies: - "@jest/expect-utils" "^29.0.2" + "@jest/expect-utils" "^29.1.2" jest-get-type "^29.0.0" - jest-matcher-utils "^29.0.2" - jest-message-util "^29.0.2" - jest-util "^29.0.2" + jest-matcher-utils "^29.1.2" + jest-message-util "^29.1.2" + jest-util "^29.1.2" express@^4.14.0, express@^4.16.3, express@^4.17.1, express@^4.17.3: - version "4.18.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" - integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.0" + body-parser "1.20.1" content-disposition "0.5.4" content-type "~1.0.4" cookie "0.5.0" @@ -14309,7 +14323,7 @@ express@^4.14.0, express@^4.16.3, express@^4.17.1, express@^4.17.3: parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.10.3" + qs "6.11.0" range-parser "~1.2.1" safe-buffer "5.2.1" send "0.18.0" @@ -14532,9 +14546,9 @@ faye-websocket@^0.11.3: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" @@ -14863,9 +14877,9 @@ follow-redirects@1.5.10: debug "=3.1.0" follow-redirects@^1.0.0, follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.8: - version "1.15.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" - integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -15215,10 +15229,10 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== dependencies: function-bind "^1.1.1" has "^1.0.3" @@ -15653,22 +15667,22 @@ hardhat-ethernal@^1.0.0: firebase "8.2.6" hardhat@^2.9.1: - version "2.11.1" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.11.1.tgz#9d7967dd360b9a217ac6b7d9ca7f5087db4db01d" - integrity sha512-7FoyfKjBs97GHNpQejHecJBBcRPOEhAE3VkjSWXB3GeeiXefWbw+zhRVOjI4eCsUUt7PyNFAdWje/lhnBT9fig== + version "2.11.2" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.11.2.tgz#c81388630255823bb1717ec07c4ee651b1fbe97f" + integrity sha512-BdsXC1CFJQDJKmAgCwpmGhFuVU6dcqlgMgT0Kg/xmFAFVugkpYu6NRmh4AaJ3Fah0/BR9DOR4XgQGIbg4eon/Q== dependencies: "@ethersproject/abi" "^5.1.2" "@metamask/eth-sig-util" "^4.0.0" - "@nomicfoundation/ethereumjs-block" "^4.0.0-rc.3" - "@nomicfoundation/ethereumjs-blockchain" "^6.0.0-rc.3" - "@nomicfoundation/ethereumjs-common" "^3.0.0-rc.3" - "@nomicfoundation/ethereumjs-evm" "^1.0.0-rc.3" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0-rc.3" - "@nomicfoundation/ethereumjs-statemanager" "^1.0.0-rc.3" - "@nomicfoundation/ethereumjs-trie" "^5.0.0-rc.3" - "@nomicfoundation/ethereumjs-tx" "^4.0.0-rc.3" - "@nomicfoundation/ethereumjs-util" "^8.0.0-rc.3" - "@nomicfoundation/ethereumjs-vm" "^6.0.0-rc.3" + "@nomicfoundation/ethereumjs-block" "^4.0.0" + "@nomicfoundation/ethereumjs-blockchain" "^6.0.0" + "@nomicfoundation/ethereumjs-common" "^3.0.0" + "@nomicfoundation/ethereumjs-evm" "^1.0.0" + "@nomicfoundation/ethereumjs-rlp" "^4.0.0" + "@nomicfoundation/ethereumjs-statemanager" "^1.0.0" + "@nomicfoundation/ethereumjs-trie" "^5.0.0" + "@nomicfoundation/ethereumjs-tx" "^4.0.0" + "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@nomicfoundation/ethereumjs-vm" "^6.0.0" "@nomicfoundation/solidity-analyzer" "^0.0.3" "@sentry/node" "^5.18.1" "@types/bn.js" "^5.1.0" @@ -15969,13 +15983,6 @@ highlightjs-solidity@^2.0.5: resolved "https://registry.yarnpkg.com/highlightjs-solidity/-/highlightjs-solidity-2.0.5.tgz#48b945f41886fa49af9f06023e6e87fffc243745" integrity sha512-ReXxQSGQkODMUgHcWzVSnfDCDrL2HshOYgw3OlIYmfHeRzUPkfJTUIp95pK4CmbiNG2eMTOmNLpfCz9Zq7Cwmg== -history@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b" - integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ== - dependencies: - "@babel/runtime" "^7.7.6" - hmac-drbg@^1.0.0, hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -16307,9 +16314,9 @@ husky@^6.0.0: integrity sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ== i18next@^21.6.16: - version "21.9.1" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.9.1.tgz#9e3428990f5b2cc9ac1b98dd025f3e411c368249" - integrity sha512-ITbDrAjbRR73spZAiu6+ex5WNlHRr1mY+acDi2ioTHuUiviJqSz269Le1xHAf0QaQ6GgIHResUhQNcxGwa/PhA== + version "21.10.0" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.10.0.tgz#85429af55fdca4858345d0e16b584ec29520197d" + integrity sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg== dependencies: "@babel/runtime" "^7.17.2" @@ -16345,9 +16352,9 @@ idb@3.0.2: integrity sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw== idb@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/idb/-/idb-7.0.2.tgz#7a067e20dd16539938e456814b7d714ba8db3892" - integrity sha512-jjKrT1EnyZewQ/gCBb/eyiYrhGzws2FeY92Yx8qT9S9GeQAmo4JFVIiWRIfKW/6Ob9A+UDAOW9j9jn58fy2HIg== + version "7.1.0" + resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.0.tgz#2cc886be57738419e57f9aab58f647e5e2160270" + integrity sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg== identity-obj-proxy@^3.0.0: version "3.0.0" @@ -17278,10 +17285,10 @@ is-builtin-module@^3.1.0: dependencies: builtin-modules "^3.3.0" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-ci@^2.0.0: version "2.0.0" @@ -17830,9 +17837,9 @@ istanbul-lib-instrument@^4.0.0: semver "^6.3.0" istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -17987,16 +17994,16 @@ it-pair@^1.0.0: get-iterator "^1.0.2" it-parallel-batch@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/it-parallel-batch/-/it-parallel-batch-1.0.10.tgz#43aa348e30cc360fa6bedc183b631d6f9c81e20e" - integrity sha512-3+4gW15xdf/BOx9zij0QVnB1bDGSLOTABlaVm7ebHH1S9gDUgd5aLNb0WsFXPTfKe104iC6lxdzfbMGh1B07rg== + version "1.0.11" + resolved "https://registry.yarnpkg.com/it-parallel-batch/-/it-parallel-batch-1.0.11.tgz#f889b4e1c7a62ef24111dbafbaaa010b33d00f69" + integrity sha512-UWsWHv/kqBpMRmyZJzlmZeoAMA0F3SZr08FBdbhtbe+MtoEBgr/ZUAKrnenhXCBrsopy76QjRH2K/V8kNdupbQ== dependencies: it-batch "^1.0.9" it-parallel@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/it-parallel/-/it-parallel-2.0.1.tgz#ba46b04c764579d1fc63ff668d13fac63c1bd7f8" - integrity sha512-VnHs9UJXSr8jmPnquS76qhLU+tE3WvLJqBUKMjAD2/Z1O5JsjpHMqq8yvVByyuwuFnh1OG9faJVGc5c9t+T6Kg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/it-parallel/-/it-parallel-2.0.2.tgz#985c8313b4cc3f24f911e7918565f39a572b761a" + integrity sha512-Q1mC3UJC65jbAmThUH6vNn6vGwIV3equrmhVNdYbzgf+mNcu+BjrR9ILc1kjCkRu2aa5TNUre/AxOXS8fXltxw== dependencies: p-defer "^3.0.0" @@ -18231,15 +18238,15 @@ jest-diff@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-diff@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.0.2.tgz#1a99419efda66f9ee72f91e580e774df95de5ddc" - integrity sha512-b9l9970sa1rMXH1owp2Woprmy42qIwwll/htsw4Gf7+WuSp5bZxNhkKHDuCGKL+HoHn1KhcC+tNEeAPYBkD2Jg== +jest-diff@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.1.2.tgz#bb7aaf5353227d6f4f96c5e7e8713ce576a607dc" + integrity sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ== dependencies: chalk "^4.0.0" diff-sequences "^29.0.0" jest-get-type "^29.0.0" - pretty-format "^29.0.2" + pretty-format "^29.1.2" jest-docblock@^27.5.1: version "27.5.1" @@ -18376,15 +18383,15 @@ jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-matcher-utils@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.0.2.tgz#0ffdcaec340a9810caee6c73ff90fb029b446e10" - integrity sha512-s62YkHFBfAx0JLA2QX1BlnCRFwHRobwAv2KP1+YhjzF6ZCbCVrf1sG8UJyn62ZUsDaQKpoo86XMTjkUyO5aWmQ== +jest-matcher-utils@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz#e68c4bcc0266e70aa1a5c13fb7b8cd4695e318a1" + integrity sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw== dependencies: chalk "^4.0.0" - jest-diff "^29.0.2" + jest-diff "^29.1.2" jest-get-type "^29.0.0" - pretty-format "^29.0.2" + pretty-format "^29.1.2" jest-message-util@^27.5.1: version "27.5.1" @@ -18416,18 +18423,18 @@ jest-message-util@^28.1.3: slash "^3.0.0" stack-utils "^2.0.3" -jest-message-util@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.0.2.tgz#b2781dfb6a2d1c63830d9684c5148ae3155c6154" - integrity sha512-kcJAgms3ckJV0wUoLsAM40xAhY+pb9FVSZwicjFU9PFkaTNmqh9xd99/CzKse48wPM1ANUQKmp03/DpkY+lGrA== +jest-message-util@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.1.2.tgz#c21a33c25f9dc1ebfcd0f921d89438847a09a501" + integrity sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.0.2" + "@jest/types" "^29.1.2" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^29.0.2" + pretty-format "^29.1.2" slash "^3.0.0" stack-utils "^2.0.3" @@ -18626,12 +18633,12 @@ jest-util@^28.1.3: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-util@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.0.2.tgz#c75c5cab7f3b410782f9570a60c5558b5dfb6e3a" - integrity sha512-ozk8ruEEEACxqpz0hN9UOgtPZS0aN+NffwQduR5dVlhN+eN47vxurtvgZkYZYMpYrsmlAEx1XabkB3BnN0GfKQ== +jest-util@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.1.2.tgz#ac5798e93cb6a6703084e194cfa0898d66126df1" + integrity sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ== dependencies: - "@jest/types" "^29.0.2" + "@jest/types" "^29.1.2" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" @@ -18747,9 +18754,9 @@ jmespath@^0.15.0: integrity sha512-+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w== joi@^17.2.1, joi@^17.4.0: - version "17.6.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" - integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw== + version "17.6.2" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.2.tgz#00ac55ce6495596545cce45309f38738cfbd7cd3" + integrity sha512-+gqqdh1xc1wb+Lor0J9toqgeReyDOCqOdG8QSdRcEvwrcRiFQZneUCGKjFjuyBWUb3uaFOgY56yMaZ5FIc+H4w== dependencies: "@hapi/hoek" "^9.0.0" "@hapi/topo" "^5.0.0" @@ -18772,6 +18779,11 @@ js-levenshtein@^1.1.6: resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== +js-sdsl@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" + integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== + js-sha256@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" @@ -19147,21 +19159,10 @@ key-did-provider-ed25519@^2.0.0, key-did-provider-ed25519@^2.0.1: rpc-utils "^0.6.2" uint8arrays "^3.0.0" -key-did-resolver@^2.0.4: - version "2.1.1" - resolved "https://registry.yarnpkg.com/key-did-resolver/-/key-did-resolver-2.1.1.tgz#c5a4f040ef5df2d358f2ef40c4c7a30a44f7a9dc" - integrity sha512-RKIDwBpEr0XtIesMDipmZYR69vcOKvY9jPBMki05v3e3DvtHuX1VdHMxpPfsQybO0zzVt8qWzsnktuejgCI7Jw== - dependencies: - "@stablelib/ed25519" "^1.0.2" - bigint-mod-arith "^3.1.0" - multiformats "^9.5.2" - uint8arrays "^3.0.0" - varint "^6.0.0" - -key-did-resolver@^2.0.6: - version "2.1.2" - resolved "https://registry.yarnpkg.com/key-did-resolver/-/key-did-resolver-2.1.2.tgz#001fd0e0d6bbe6976e3925a3f2cf6f9049ea9a59" - integrity sha512-K0Bv2nwOKc+7fjqy9R2m8m/ADdz7NEybIAIX/67WgPHVQWlN3Na2yMHcQE1HDu8nUy0NZ/nWNfYa7iHikPtnug== +key-did-resolver@^2.0.4, key-did-resolver@^2.0.6: + version "2.1.3" + resolved "https://registry.yarnpkg.com/key-did-resolver/-/key-did-resolver-2.1.3.tgz#b6ac92db7959b61639eac9abfd07d2683be3a148" + integrity sha512-zEDHuM9mictWyj8lKO72uqjvsgz7Eu2hioI4gvAEA4IbB9ojBiBcshMt0ptOmFKV6WqBnxW2gTH4eO5Zj4LUMQ== dependencies: "@stablelib/ed25519" "^1.0.2" bigint-mod-arith "^3.1.0" @@ -19834,9 +19835,9 @@ lit-connect-modal@^0.1.8: micromodal "^0.4.10" lit-js-sdk@^1.1.185: - version "1.1.218" - resolved "https://registry.yarnpkg.com/lit-js-sdk/-/lit-js-sdk-1.1.218.tgz#74b74f48e22a5fff40e6f942fef7d972fc7eff60" - integrity sha512-M64vAHmFshjDZ5jm7qt8PLm8sR9xKhjtnGQQIiNUdFAkNlsso5p5SiAT+jqEsfQA7/kj5RhggVfdW8oI1dG00Q== + version "1.1.228" + resolved "https://registry.yarnpkg.com/lit-js-sdk/-/lit-js-sdk-1.1.228.tgz#81c1e756c9809bb533745cec85e73c17855d7120" + integrity sha512-bdoE89eakhkWVYfQMoYF6xZnZKJ5gkGgdHGLnD3rtgAaMRYFfaTBLp3i/15JcrPLp6jgH503BMSYoZ4qdBxpFg== dependencies: "@ethersproject/bytes" "^5.5.0" "@ethersproject/contracts" "^5.2.0" @@ -20510,6 +20511,17 @@ merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: rlp "^2.0.0" semaphore ">=1.0.1" +merkletreejs@^0.2.32: + version "0.2.32" + resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.2.32.tgz#cf1c0760e2904e4a1cc269108d6009459fd06223" + integrity sha512-TostQBiwYRIwSE5++jGmacu3ODcKAgqb0Y/pnIohXS7sWxh1gCkSptbmF1a43faehRDpcHf7J/kv0Ml2D/zblQ== + dependencies: + bignumber.js "^9.0.1" + buffer-reverse "^1.0.1" + crypto-js "^3.1.9-1" + treeify "^1.1.0" + web3-utils "^1.3.4" + mersenne-twister@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" @@ -21008,9 +21020,9 @@ multicodec@^3.0.1: varint "^6.0.0" multiformats@^9.0.0, multiformats@^9.0.2, multiformats@^9.0.4, multiformats@^9.1.0, multiformats@^9.1.2, multiformats@^9.4.10, multiformats@^9.4.2, multiformats@^9.4.5, multiformats@^9.4.7, multiformats@^9.5.1, multiformats@^9.5.2, multiformats@^9.5.4, multiformats@^9.5.8, multiformats@^9.6.5: - version "9.8.1" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.8.1.tgz#0e5f2910cf0c34f55adf0602f920775f9622552a" - integrity sha512-Cu7NfUYtCV+WN7w59WsRRF138S+um4tTo11ScYsWbNgWyCEGOu8wID1e5eMJs91gFZ0I7afodkkdxCF8NGkqZQ== + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" @@ -21844,9 +21856,9 @@ optionator@^0.9.1: word-wrap "^1.2.3" orderedmap@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.0.0.tgz#12ff5ef6ea9d12d6430b80c701b35475e1c9ff34" - integrity sha512-buf4PoAMlh45b8a8gsGy/X6w279TSqkyAS0C0wdTSJwFSU+ljQFJON5I8NfjLHoCXwpSROIo2wr0g33T+kQshQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.1.0.tgz#819457082fa3a06abd316d83a281a1ca467437cd" + integrity sha512-/pIFexOm6S70EPdznemIz3BQZoJ4VTFrhqzu0ACBqBgeLsLxq8e6Jim63ImIfwW/zAD1AlXpRMlOv3aghmo4dA== os-browserify@^0.3.0, os-browserify@~0.3.0: version "0.3.0" @@ -22676,10 +22688,10 @@ postcss-custom-media@^8.0.2: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-properties@^12.1.8: - version "12.1.8" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz#aa003e1885c5bd28e2e32496cd597e389ca889e4" - integrity sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA== +postcss-custom-properties@^12.1.9: + version "12.1.9" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz#0883429a7ef99f1ba239d1fea29ce84906daa8bd" + integrity sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg== dependencies: postcss-value-parser "^4.2.0" @@ -22960,10 +22972,10 @@ postcss-nested@5.0.6: dependencies: postcss-selector-parser "^6.0.6" -postcss-nesting@^10.1.10: - version "10.1.10" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.10.tgz#9c396df3d8232cbedfa95baaac6b765b8fd2a817" - integrity sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w== +postcss-nesting@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" + integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== dependencies: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" @@ -23073,11 +23085,11 @@ postcss-place@^7.0.5: postcss-value-parser "^4.2.0" postcss-preset-env@^7.0.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.1.tgz#2bfe935736727ab601a5c718bf24fc9f858eceb0" - integrity sha512-8884CHxQaoN1i4iEK+JvzOe8emODb5R4p/0dw4yEdo7QM4RdUk2sBx0fnzFyJt8BLfZSCGeVkKZ4HC564waBpQ== + version "7.8.2" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz#4c834d5cbd2e29df2abf59118947c456922b79ba" + integrity sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ== dependencies: - "@csstools/postcss-cascade-layers" "^1.0.6" + "@csstools/postcss-cascade-layers" "^1.1.0" "@csstools/postcss-color-function" "^1.1.1" "@csstools/postcss-font-format-keywords" "^1.0.1" "@csstools/postcss-hwb-function" "^1.0.2" @@ -23091,7 +23103,7 @@ postcss-preset-env@^7.0.1: "@csstools/postcss-text-decoration-shorthand" "^1.0.0" "@csstools/postcss-trigonometric-functions" "^1.0.2" "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.8" + autoprefixer "^10.4.11" browserslist "^4.21.3" css-blank-pseudo "^3.0.3" css-has-pseudo "^3.0.4" @@ -23103,7 +23115,7 @@ postcss-preset-env@^7.0.1: postcss-color-hex-alpha "^8.0.4" postcss-color-rebeccapurple "^7.1.1" postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.8" + postcss-custom-properties "^12.1.9" postcss-custom-selectors "^6.0.3" postcss-dir-pseudo-class "^6.0.5" postcss-double-position-gradients "^3.1.2" @@ -23117,7 +23129,7 @@ postcss-preset-env@^7.0.1: postcss-lab-function "^4.2.1" postcss-logical "^5.0.4" postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.10" + postcss-nesting "^10.2.0" postcss-opacity-percentage "^1.1.2" postcss-overflow-shorthand "^3.0.4" postcss-page-break "^3.0.4" @@ -23198,9 +23210,9 @@ postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0 source-map "^0.6.1" postcss@^8.3.11, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.4, postcss@^8.4.7: - version "8.4.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" - integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== + version "8.4.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" + integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" @@ -23212,9 +23224,9 @@ preact@10.4.1: integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q== preact@^10.3.3, preact@^10.5.9: - version "10.10.6" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.10.6.tgz#1fe62aecf93974b64e6a42e09ba1f00f93207d14" - integrity sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog== + version "10.11.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.11.1.tgz#35fdad092de8b2ad29df3a0bef9af1f4fdd2256b" + integrity sha512-1Wz5PCRm6Fg+6BTXWJHhX4wRK9MZbZBHuwBqfZlOdVm2NqPe8/rjYpufvYCwJSGb9layyzB2jTTXfpCTynLqFQ== precond@0.2: version "0.2.3" @@ -23325,10 +23337,10 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -pretty-format@^29.0.0, pretty-format@^29.0.2: - version "29.0.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.0.2.tgz#7f7666a7bf05ba2bcacde61be81c6db64f6f3be6" - integrity sha512-wp3CdtUa3cSJVFn3Miu5a1+pxc1iPIQTenOAn+x5erXeN1+ryTcLesV5pbK/rlW5EKwp27x38MoYfNGaNXDDhg== +pretty-format@^29.0.0, pretty-format@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.1.2.tgz#b1f6b75be7d699be1a051f5da36e8ae9e76a8e6a" + integrity sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg== dependencies: "@jest/schemas" "^29.0.0" ansi-styles "^5.0.0" @@ -23492,10 +23504,10 @@ property-information@^5.0.0, property-information@^5.3.0: dependencies: xtend "^4.0.0" -prosemirror-commands@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.3.0.tgz#361b2e2b2a347ce7453386459f97c3f549a1113b" - integrity sha512-BwBbZ5OAScPcm0x7H8SPbqjuEJnCU2RJT9LDyOiiIl/3NbL1nJZI4SFNHwU2e/tRr2Xe7JsptpzseqvZvToLBQ== +prosemirror-commands@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.3.1.tgz#926c88801eebaa50363d4658850b41406d375a31" + integrity sha512-XTporPgoECkOQACVw0JTe3RZGi+fls3/byqt+tXwGTkD7qLuB4KdVrJamDMJf4kfKga3uB8hZ+kUUyZ5oWpnfg== dependencies: prosemirror-model "^1.0.0" prosemirror-state "^1.0.0" @@ -23510,17 +23522,17 @@ prosemirror-dropcursor@1.5.0: prosemirror-transform "^1.1.0" prosemirror-view "^1.1.0" -prosemirror-gapcursor@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.0.tgz#e07c22ad959b86ec0c4cfc590cc5f484dd984d56" - integrity sha512-9Tdx83xB2W4Oqchm12FtCkSizbqvi64cjs1I9TRPblqdA5TUWoVZ4ZI+t71Jh6HSEh4cDMPzx3UwfryJtKlb/w== +prosemirror-gapcursor@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.1.tgz#8cfd874592e4504d63720e14ed680c7866e64554" + integrity sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA== dependencies: prosemirror-keymap "^1.0.0" prosemirror-model "^1.0.0" prosemirror-state "^1.0.0" prosemirror-view "^1.0.0" -prosemirror-history@1.3.0: +prosemirror-history@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.3.0.tgz#bf5a1ff7759aca759ddf0c722c2fa5b14fb0ddc1" integrity sha512-qo/9Wn4B/Bq89/YD+eNWFbAytu6dmIM85EhID+fz9Jcl9+DfGEo8TTSrRhP15+fFEoaPqpHSxlvSzSEbmlxlUA== @@ -23529,7 +23541,7 @@ prosemirror-history@1.3.0: prosemirror-transform "^1.0.0" rope-sequence "^1.3.0" -prosemirror-keymap@1.2.0, prosemirror-keymap@^1.0.0: +prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.2.0.tgz#d5cc9da9b712020690a994b50b92a0e448a60bf5" integrity sha512-TdSfu+YyLDd54ufN/ZeD1VtBRYpgZnTPnnbY+4R08DDgs84KrIPEPbJL8t1Lm2dkljFx6xeBE26YWH3aIzkPKg== @@ -23537,23 +23549,23 @@ prosemirror-keymap@1.2.0, prosemirror-keymap@^1.0.0: prosemirror-state "^1.0.0" w3c-keyname "^2.2.0" -prosemirror-model@1.18.1, prosemirror-model@^1.0.0, prosemirror-model@^1.16.0: +prosemirror-model@^1.0.0, prosemirror-model@^1.16.0, prosemirror-model@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.18.1.tgz#1d5d6b6de7b983ee67a479dc607165fdef3935bd" integrity sha512-IxSVBKAEMjD7s3n8cgtwMlxAXZrC7Mlag7zYsAKDndAqnDScvSmp/UdnRTV/B33lTCVU3CCm7dyAn/rVVD0mcw== dependencies: orderedmap "^2.0.0" -prosemirror-schema-list@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.2.0.tgz#1932268593a7396c0ac168cbe31f28187406ce24" - integrity sha512-8PT/9xOx1HHdC7fDNNfhQ50Z8Mzu7nKyA1KCDltSpcZVZIbB0k7KtsHrnXyuIhbLlScoymBiLZ00c5MH6wdFsA== +prosemirror-schema-list@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.2.2.tgz#bafda37b72367d39accdcaf6ddf8fb654a16e8e5" + integrity sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w== dependencies: prosemirror-model "^1.0.0" prosemirror-state "^1.0.0" prosemirror-transform "^1.0.0" -prosemirror-state@1.4.1, prosemirror-state@^1.0.0, prosemirror-state@^1.2.2: +prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.4.1.tgz#f6e26c7b6a7e11206176689eb6ebbf91870953e1" integrity sha512-U/LBDW2gNmVa07sz/D229XigSdDQ5CLFwVB1Vb32MJbAHHhWe/6pOc721faI17tqw4pZ49i1xfY/jEZ9tbIhPg== @@ -23561,33 +23573,17 @@ prosemirror-state@1.4.1, prosemirror-state@^1.0.0, prosemirror-state@^1.2.2: prosemirror-model "^1.0.0" prosemirror-transform "^1.0.0" -prosemirror-transform@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.6.0.tgz#8162dbfaf124f9253a7ab28605a9460411a96a53" - integrity sha512-MAp7AjsjEGEqQY0sSMufNIUuEyB1ZR9Fqlm8dTwwWwpEJRv/plsKjWXBbx52q3Ml8MtaMcd7ic14zAHVB3WaMw== - dependencies: - prosemirror-model "^1.0.0" - -prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0: +prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.7.0.tgz#a8a0768f3ee6418d26ebef435beda9d43c65e472" integrity sha512-O4T697Cqilw06Zvc3Wm+e237R6eZtJL/xGMliCi+Uo8VL6qHk6afz1qq0zNjT3eZMuYwnP8ZS0+YxX/tfcE9TQ== dependencies: prosemirror-model "^1.0.0" -prosemirror-view@1.26.2: - version "1.26.2" - resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.26.2.tgz#e673894ecf26aea330b727622d561c51b41d31eb" - integrity sha512-CGKw+GadkfSBEwRAJTHCEKJ4DlV6/3IhAdjpwGyZHUHtbP7jX4Ol4zmi7xa2c6GOabDlIJLYXJydoNYLX7lNeQ== - dependencies: - prosemirror-model "^1.16.0" - prosemirror-state "^1.0.0" - prosemirror-transform "^1.1.0" - -prosemirror-view@^1.0.0, prosemirror-view@^1.1.0: - version "1.28.0" - resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.28.0.tgz#d7ebdda7cf44b2b2c0b795a7546aef0f71b50c76" - integrity sha512-cmFK9osE7WAQptye6o/I5LjURZkSF4z3H7+LZmQtpJDZ9x4X/Z9v85oOeDvfRiX/J2rsaRYbEkWWbu3l9eBsdQ== +prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.28.2: + version "1.28.3" + resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.28.3.tgz#51131ede4d3852380be9a5e0e4ba7662725dac1f" + integrity sha512-YnJxLRzIaCNEt3VKiy+PBxtpwsCbjrfiBKIgHJeqbKhdeP8bU2qL4ngdGmxp9K4+06cZG5bE9vipuhP+KUl+BQ== dependencies: prosemirror-model "^1.16.0" prosemirror-state "^1.0.0" @@ -23618,9 +23614,9 @@ protobufjs@^6.10.2, protobufjs@^6.11.2, protobufjs@^6.8.6: long "^4.0.0" protobufjs@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.1.0.tgz#5174b5f96fad4f7dea7dd4abd594042ac360e665" - integrity sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA== + version "7.1.2" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.1.2.tgz#a0cf6aeaf82f5625bffcf5a38b7cd2a7de05890c" + integrity sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -23794,14 +23790,7 @@ qrcode@1.4.4: pngjs "^3.3.0" yargs "^13.2.4" -qs@6.10.3: - version "6.10.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" - integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== - dependencies: - side-channel "^1.0.4" - -qs@^6.10.0, qs@^6.10.3, qs@^6.7.0: +qs@6.11.0, qs@^6.10.0, qs@^6.10.3, qs@^6.7.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== @@ -24104,9 +24093,9 @@ react-error-overlay@^6.0.11: integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== react-hook-form@^7.29.0: - version "7.34.2" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.34.2.tgz#9ac6d1a309a7c4aaa369d1269357a70e9e9bf4de" - integrity sha512-1lYWbEqr0GW7HHUjMScXMidGvV0BE2RJV3ap2BL7G0EJirkqpccTaawbsvBO8GZaB3JjCeFBEbnEWI1P8ZoLRQ== + version "7.37.0" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.37.0.tgz#4d1738f092d3d8a3ade34ee892d97350b1032b19" + integrity sha512-6NFTxsnw+EXSpNNvLr5nFMjPdYKRryQcelTHg7zwBB6vAzfPIcZq4AExP4heVlwdzntepQgwiOQW4z7Mr99Lsg== react-i18next@^11.16.7: version "11.18.6" @@ -24214,19 +24203,19 @@ react-refresh@^0.11.0: integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== react-router-dom@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d" - integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw== + version "6.4.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.4.2.tgz#115b37d501d6d8ac870683694978c51c43e6c0d2" + integrity sha512-yM1kjoTkpfjgczPrcyWrp+OuQMyB1WleICiiGfstnQYo/S8hPEEnVjr/RdmlH6yKK4Tnj1UGXFSa7uwAtmDoLQ== dependencies: - history "^5.2.0" - react-router "6.3.0" + "@remix-run/router" "1.0.2" + react-router "6.4.2" -react-router@6.3.0, react-router@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557" - integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ== +react-router@6.4.2, react-router@^6.3.0: + version "6.4.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.4.2.tgz#300628ee9ed81b8ef1597b5cb98b474efe9779b8" + integrity sha512-Rb0BAX9KHhVzT1OKhMvCDMw776aTYM0DtkxqUBP8dNBom3mPXlfNs76JNGK8wKJ1IZEY1+WGj+cvZxHVk/GiKw== dependencies: - history "^5.2.0" + "@remix-run/router" "1.0.2" react-scripts@^5.0.1: version "5.0.1" @@ -24305,9 +24294,9 @@ react-toastify@^8.1.0: clsx "^1.1.1" react-virtuoso@^2.16.5: - version "2.18.0" - resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-2.18.0.tgz#42f8a7cb632aaf0bb2812bbbd4b5f2583d3d53ec" - integrity sha512-BxMW9as2dPOP4YFkry/oNjQMEn3cOgEjHLb7Fg8oubOgRAfiukp1Co41QFD9ZMXZBNBZNTI2E5BwC5pol31mTg== + version "2.19.1" + resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-2.19.1.tgz#a660a5c3cafcc7a84b59dfc356e1916e632c1e3a" + integrity sha512-zF6MAwujNGy2nJWCx/Df92ay/RnV2Kj4glUZfdyadI4suAn0kAZHB1BeI7yPFVp2iSccLzFlszhakWyr+fJ4Dw== dependencies: "@virtuoso.dev/react-urx" "^0.2.12" "@virtuoso.dev/urx" "^0.2.12" @@ -24402,11 +24391,14 @@ readable-stream@^1.0.33: string_decoder "~0.10.x" readable-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.1.0.tgz#280d0a29f559d3fb684a277254e02b6f61ae0631" - integrity sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw== + version "4.2.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.2.0.tgz#a7ef523d3b39e4962b0db1a1af22777b10eeca46" + integrity sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A== dependencies: abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" readable-stream@~1.0.15: version "1.0.34" @@ -24476,10 +24468,10 @@ reduce-flatten@^2.0.0: resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== dependencies: regenerate "^1.4.2" @@ -24556,14 +24548,14 @@ regexpu-core@^2.0.0: regjsparser "^0.1.4" regexpu-core@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" - integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== + version "5.2.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" + integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== dependencies: regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" @@ -24601,10 +24593,10 @@ regjsgen@^0.2.0: resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" integrity sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g== -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== regjsparser@^0.1.4: version "0.1.5" @@ -24613,10 +24605,10 @@ regjsparser@^0.1.4: dependencies: jsesc "~0.5.0" -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" @@ -25072,9 +25064,9 @@ rollup@^1.31.1: acorn "^7.1.0" rollup@^2.43.1: - version "2.79.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.0.tgz#9177992c9f09eb58c5e56cbfa641607a12b57ce2" - integrity sha512-x4KsrCgwQ7ZJPcFA/SUu6QVcYlO7uRLfLAy0DSA4NS2eG8japdbpM50ToH7z4iObodRYOJ0soneF0iaQRJ6zhA== + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== optionalDependencies: fsevents "~2.3.2" @@ -25147,9 +25139,9 @@ rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.5.4, rxjs@^6.6.3: tslib "^1.9.0" rxjs@^7.1.0, rxjs@^7.5.1, rxjs@^7.5.2, rxjs@^7.5.5: - version "7.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" - integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== + version "7.5.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" + integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== dependencies: tslib "^2.1.0" @@ -25180,6 +25172,15 @@ safe-json-utils@^1.1.1: resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -25222,9 +25223,9 @@ sanitize-filename@^1.6.3: truncate-utf8-bytes "^1.0.0" sanitize-html@^2.6.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.7.1.tgz#a6c2c1a88054a79eeacfac9b0a43f1b393476901" - integrity sha512-oOpe8l4J8CaBk++2haoN5yNI5beekjuHv3JRPKUx/7h40Rdr85pemn4NkvUB3TcBP7yjat574sPlcMAyv4UQig== + version "2.7.2" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.7.2.tgz#54c5189af75e3237d996e4b9a5e3eaad12c7f7fc" + integrity sha512-DggSTe7MviO+K4YTCwprG6W1vsG+IIX67yp/QY55yQqKCJYSWzCA1rZbaXzkjoKeL9+jqwm56wD6srYLtUNivg== dependencies: deepmerge "^4.2.2" escape-string-regexp "^4.0.0" @@ -25354,7 +25355,7 @@ select@^1.1.2: resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA== -selfsigned@^2.0.1: +selfsigned@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== @@ -25383,7 +25384,7 @@ semver-diff@^3.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.7, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: +semver@7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -25395,6 +25396,13 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + semver@~5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" @@ -26240,6 +26248,11 @@ streaming-iterables@^6.0.0: resolved "https://registry.yarnpkg.com/streaming-iterables/-/streaming-iterables-6.2.0.tgz#e8079bc56272335b287e2f13274602fbef008e56" integrity sha512-3AYC8oB60WyD1ic7uHmN/vm2oRGzRnQ3XFBl/bFMDi1q1+nc5/vjMmiE4vroIya3jG59t87VpyAj/iXYxyw9AA== +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -26564,9 +26577,9 @@ style-to-object@0.3.0, style-to-object@^0.3.0: inline-style-parser "0.1.1" styled-components@^5.3.5: - version "5.3.5" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.5.tgz#a750a398d01f1ca73af16a241dec3da6deae5ec4" - integrity sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg== + version "5.3.6" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.6.tgz#27753c8c27c650bee9358e343fc927966bfd00d1" + integrity sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/traverse" "^7.4.5" @@ -26859,9 +26872,9 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tape@^4.6.3: - version "4.16.0" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.16.0.tgz#18310f57b71c0ac21b3ef94fe5c16033b3d6362b" - integrity sha512-mBlqYFr2mHysgCFXAuSarIQ+ffhielpb7a5/IbeOhMaLnQYhkJLUm6CwO1RszWeHRxnIpMessZ3xL2Cfo94BWw== + version "4.16.1" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.16.1.tgz#8d511b3a0be1a30441885972047c1dac822fd9be" + integrity sha512-U4DWOikL5gBYUrlzx+J0oaRedm2vKLFbtA/+BRAXboGWpXO7bMP8ddxlq3Cse2bvXFQ0jZMOj6kk3546mvCdFg== dependencies: call-bind "~1.0.2" deep-equal "~1.1.1" @@ -27034,9 +27047,9 @@ terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.0.0, terser@^5.10.0, terser@^5.14.1, terser@^5.3.4: - version "5.15.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" - integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== + version "5.15.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" + integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -27291,6 +27304,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +treeify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== + trezor-connect@8.1.8: version "8.1.8" resolved "https://registry.yarnpkg.com/trezor-connect/-/trezor-connect-8.1.8.tgz#db46f2637047fa45fef3f5a7c6f16a792cc2067a" @@ -27621,14 +27639,14 @@ typedarray@^0.0.6: integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript-memoize@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.1.0.tgz#4a8f512d06fc995167c703a3592219901db8bc79" - integrity sha512-LQPKVXK8QrBBkL/zclE6YgSWn0I8ew5m0Lf+XL00IwMhlotqRLlzHV+BRrljVQIc+NohUAuQP7mg4HQwrx5Xbg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.1.1.tgz#02737495d5df6ebf72c07ba0d002e8f4cf5ccfa0" + integrity sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA== typescript@^4.5.5: - version "4.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== typical@^4.0.0: version "4.0.0" @@ -27656,9 +27674,9 @@ ua-parser-js@^1.0.2: integrity sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg== uglify-js@^3.1.4: - version "3.17.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85" - integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg== + version "3.17.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.3.tgz#f0feedf019c4510f164099e8d7e72ff2d7304377" + integrity sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg== uint8arrays@^2.0.5, uint8arrays@^2.1.2: version "2.1.10" @@ -27719,14 +27737,16 @@ underscore@1.9.1: integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== underscore@^1.8.3: - version "1.13.4" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.4.tgz#7886b46bbdf07f768e0052f1828e1dcab40c0dee" - integrity sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ== + version "1.13.6" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" + integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== undici@^5.4.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.10.0.tgz#dd9391087a90ccfbd007568db458674232ebf014" - integrity sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g== + version "5.11.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.11.0.tgz#1db25f285821828fc09d3804b9e2e934ae86fc13" + integrity sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw== + dependencies: + busboy "^1.6.0" unfetch@^4.2.0: version "4.2.0" @@ -27760,9 +27780,9 @@ unicode-match-property-value-ecmascript@^2.0.0: integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unified@9.2.0: version "9.2.0" @@ -27983,10 +28003,10 @@ upath@^1.1.1, upath@^1.1.2, upath@^1.2.0: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-browserslist-db@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" - integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -28466,10 +28486,10 @@ web3-bzz@1.7.4: got "9.6.0" swarm-js "^0.1.40" -web3-bzz@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.5.tgz#edeb262c3a6619109763077a94172513cf07cdde" - integrity sha512-Z53sY0YK/losqjJncmL4vP0zZI9r6tiXg6o7R6e1JD2Iy7FH3serQvU+qXmPjqEBzsnhf8wTG+YcBPB3RHpr0Q== +web3-bzz@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.8.0.tgz#2023676d7c17ea36512bf76eb310755a02a3d464" + integrity sha512-caDtdKeLi7+2Vb+y+cq2yyhkNjnxkFzVW0j1DtemarBg3dycG1iEl75CVQMLNO6Wkg+HH9tZtRnUyFIe5LIUeQ== dependencies: "@types/node" "^12.12.6" got "12.1.0" @@ -28483,13 +28503,13 @@ web3-core-helpers@1.7.4: web3-eth-iban "1.7.4" web3-utils "1.7.4" -web3-core-helpers@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.5.tgz#e97b3ecac787ade4b9390807a86aca78ed97872b" - integrity sha512-lDDjTks6Q6aNUO87RYrY2xub3UWTKr/RIWxpHJODEqkLxZS1dWdyliJ6aIx3031VQwsNT5HE7NvABe/t0p3iDQ== +web3-core-helpers@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.8.0.tgz#5dcfdda1a4ea277041d912003198f1334ca29d7c" + integrity sha512-nMAVwZB3rEp/khHI2BvFy0e/xCryf501p5NGjswmJtEM+Zrd3Biaw52JrB1qAZZIzCA8cmLKaOgdfamoDOpWdw== dependencies: - web3-eth-iban "1.7.5" - web3-utils "1.7.5" + web3-eth-iban "1.8.0" + web3-utils "1.8.0" web3-core-method@1.7.4: version "1.7.4" @@ -28502,16 +28522,16 @@ web3-core-method@1.7.4: web3-core-subscriptions "1.7.4" web3-utils "1.7.4" -web3-core-method@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.5.tgz#ffe8883c169468f0e4d13509377f2d8876d9b7be" - integrity sha512-ApTvq1Llzlbxmy0n4L7QaE6NodIsR80VJqk8qN4kLg30SGznt/pNJFebryLI2kpyDmxSgj1TjEWzmHJBp6FhYg== +web3-core-method@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.8.0.tgz#9c2da8896808917d1679c319f19e2174ba17086c" + integrity sha512-c94RAzo3gpXwf2rf8rL8C77jOzNWF4mXUoUfZYYsiY35cJFd46jQDPI00CB5+ZbICTiA5mlVzMj4e7jAsTqiLA== dependencies: "@ethersproject/transactions" "^5.6.2" - web3-core-helpers "1.7.5" - web3-core-promievent "1.7.5" - web3-core-subscriptions "1.7.5" - web3-utils "1.7.5" + web3-core-helpers "1.8.0" + web3-core-promievent "1.8.0" + web3-core-subscriptions "1.8.0" + web3-utils "1.8.0" web3-core-promievent@1.7.4: version "1.7.4" @@ -28520,10 +28540,10 @@ web3-core-promievent@1.7.4: dependencies: eventemitter3 "4.0.4" -web3-core-promievent@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.5.tgz#56a9b06a20e20a0a89d2ab7f88d44c8ae01d5b62" - integrity sha512-uZ1VRErVuhiLtHlyt3oEH/JSvAf6bWPndChHR9PG7i1Zfqm6ZVCeM91ICTPmiL8ddsGQOxASpnJk4vhApcTIww== +web3-core-promievent@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.8.0.tgz#979765fd4d37ab0f158f0ee54037b279b737bd53" + integrity sha512-FGLyjAuOaAQ+ZhV6iuw9tg/9WvIkSZXKHQ4mdTyQ8MxVraOtFivOCbuLLsGgapfHYX+RPxsc1j1YzQjKoupagQ== dependencies: eventemitter3 "4.0.4" @@ -28538,16 +28558,16 @@ web3-core-requestmanager@1.7.4: web3-providers-ipc "1.7.4" web3-providers-ws "1.7.4" -web3-core-requestmanager@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.5.tgz#be18fc99642689aeb2e016fa43fb47bb9e8c94ce" - integrity sha512-3KpfxW/wVH4mgwWEsSJGHKrtRVoijWlDxtUrm17xgtqRNZ2mFolifKnHAUKa0fY48C9CrxmcCiMIi3W4G6WYRw== +web3-core-requestmanager@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.8.0.tgz#06189df80cf52d24a195a7ef655031afe8192df3" + integrity sha512-2AoYCs3Owl5foWcf4uKPONyqFygSl9T54L8b581U16nsUirjhoTUGK/PBhMDVcLCmW4QQmcY5A8oPFpkQc1TTg== dependencies: util "^0.12.0" - web3-core-helpers "1.7.5" - web3-providers-http "1.7.5" - web3-providers-ipc "1.7.5" - web3-providers-ws "1.7.5" + web3-core-helpers "1.8.0" + web3-providers-http "1.8.0" + web3-providers-ipc "1.8.0" + web3-providers-ws "1.8.0" web3-core-subscriptions@1.7.4: version "1.7.4" @@ -28557,13 +28577,13 @@ web3-core-subscriptions@1.7.4: eventemitter3 "4.0.4" web3-core-helpers "1.7.4" -web3-core-subscriptions@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.5.tgz#c0e25610768ea9d9f9107b4ac74b6b6573125e00" - integrity sha512-YK6utQ7Wwjbe4XZOIA8quWGBPi1lFDS1A+jQYwxKKrCvm6BloBNc3FhvrcSYlDhLe/kOy8+2Je8i9amndgT4ww== +web3-core-subscriptions@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.8.0.tgz#ff66ae4467c8cb4716367248bcefb1845c0f8b83" + integrity sha512-7lHVRzDdg0+Gcog55lG6Q3D8JV+jN+4Ly6F8cSn9xFUAwOkdbgdWsjknQG7t7CDWy21DQkvdiY2BJF8S68AqOA== dependencies: eventemitter3 "4.0.4" - web3-core-helpers "1.7.5" + web3-core-helpers "1.8.0" web3-core@1.7.4: version "1.7.4" @@ -28578,18 +28598,18 @@ web3-core@1.7.4: web3-core-requestmanager "1.7.4" web3-utils "1.7.4" -web3-core@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.5.tgz#8ee2ca490230a30ca970cb9f308eb65b76405e1d" - integrity sha512-UgOWXZr1fR/3cUQJKWbfMwRxj1/N7o6RSd/dHqdXBlOD+62EjNZItFmLRg5veq5kp9YfXzrNw9bnDkXfsL+nKQ== +web3-core@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.8.0.tgz#90afce527ac1b1dff8cbed2acbc0336530b8aacf" + integrity sha512-9sCA+Z02ci6zoY2bAquFiDjujRwmSKHiSGi4B8IstML8okSytnzXk1izHYSynE7ahIkguhjWAuXFvX76F5rAbA== dependencies: "@types/bn.js" "^5.1.0" "@types/node" "^12.12.6" bignumber.js "^9.0.0" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-core-requestmanager "1.7.5" - web3-utils "1.7.5" + web3-core-helpers "1.8.0" + web3-core-method "1.8.0" + web3-core-requestmanager "1.8.0" + web3-utils "1.8.0" web3-eth-abi@1.7.4: version "1.7.4" @@ -28599,13 +28619,13 @@ web3-eth-abi@1.7.4: "@ethersproject/abi" "^5.6.3" web3-utils "1.7.4" -web3-eth-abi@1.7.5, web3-eth-abi@^1.2.1: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.5.tgz#db9d6dbcc043a6e922252f3228686e9bbd50d7c9" - integrity sha512-qWHvF7sayxql9BD1yqK9sZRLBQ66eJzGeaU53Y1PRq2iFPrhY6NUWxQ3c3ps0rg+dyObvRbloviWpKXcS4RE/A== +web3-eth-abi@1.8.0, web3-eth-abi@^1.2.1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.8.0.tgz#47fdff00bfdfa72064c9c612ff6369986598196d" + integrity sha512-xPeMb2hS9YLQK/Q5YZpkcmzoRGM+/R8bogSrYHhNC3hjZSSU0YRH+1ZKK0f9YF4qDZaPMI8tKWIMSCDIpjG6fg== dependencies: "@ethersproject/abi" "^5.6.3" - web3-utils "1.7.5" + web3-utils "1.8.0" web3-eth-accounts@1.7.4: version "1.7.4" @@ -28624,10 +28644,10 @@ web3-eth-accounts@1.7.4: web3-core-method "1.7.4" web3-utils "1.7.4" -web3-eth-accounts@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.5.tgz#b37ee3aeebcc6bce3337636aeb272cbba0ece547" - integrity sha512-AzMLoTj3RGwKpyp3x3TtHrEeU4VpR99iMOD6NKrWSDumS6QEi0lCo+y7QZhdTlINw3iIA3SFIdvbAOO4NCHSDg== +web3-eth-accounts@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.8.0.tgz#960d947ee87a49d6c706dc6312334fbfbd6ff812" + integrity sha512-HQ/MDSv4bexwJLvnqsM6xpGE7c2NVOqyhzOZFyMUKXbIwIq85T3TaLnM9pCN7XqMpDcfxqiZ3q43JqQVkzHdmw== dependencies: "@ethereumjs/common" "^2.5.0" "@ethereumjs/tx" "^3.3.2" @@ -28636,10 +28656,10 @@ web3-eth-accounts@1.7.5: ethereumjs-util "^7.0.10" scrypt-js "^3.0.1" uuid "3.3.2" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-utils "1.7.5" + web3-core "1.8.0" + web3-core-helpers "1.8.0" + web3-core-method "1.8.0" + web3-utils "1.8.0" web3-eth-contract@1.7.4: version "1.7.4" @@ -28655,19 +28675,19 @@ web3-eth-contract@1.7.4: web3-eth-abi "1.7.4" web3-utils "1.7.4" -web3-eth-contract@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.5.tgz#a032419579bcec062513a3d089ad0e89ac63d731" - integrity sha512-qab7NPJRKRlTs58ozsqK8YIEwWpxIm3vD/okSIKBGkFx5gIHWW+vGmMh5PDSfefLJM9rCd+T+Lc0LYvtME7uqg== +web3-eth-contract@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.8.0.tgz#58f4ce0bde74e5ce87663502e409a92abad7b2c5" + integrity sha512-6xeXhW2YoCrz2Ayf2Vm4srWiMOB6LawkvxWJDnUWJ8SMATg4Pgu42C/j8rz/enXbYWt2IKuj0kk8+QszxQbK+Q== dependencies: "@types/bn.js" "^5.1.0" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-core-promievent "1.7.5" - web3-core-subscriptions "1.7.5" - web3-eth-abi "1.7.5" - web3-utils "1.7.5" + web3-core "1.8.0" + web3-core-helpers "1.8.0" + web3-core-method "1.8.0" + web3-core-promievent "1.8.0" + web3-core-subscriptions "1.8.0" + web3-eth-abi "1.8.0" + web3-utils "1.8.0" web3-eth-ens@1.7.4: version "1.7.4" @@ -28683,19 +28703,19 @@ web3-eth-ens@1.7.4: web3-eth-contract "1.7.4" web3-utils "1.7.4" -web3-eth-ens@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.5.tgz#fa0e287f5e6fae20531117b7467e21b482d58cab" - integrity sha512-k1Q0msdRv/wac2egpZBIwG3n/sa/KdrVmVJvFm471gLTL4xfUizV5qJjkDVf+ikf9JyDvWJTs5eWNUUbOFIw/A== +web3-eth-ens@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.8.0.tgz#f1937371eac54b087ebe2e871780c2710d39998d" + integrity sha512-/eFbQEwvsMOEiOhw9/iuRXCsPkqAmHHWuFOrThQkozRgcnSTRnvxkkRC/b6koiT5/HaKeUs4yQDg+/ixsIxZxA== dependencies: content-hash "^2.5.2" eth-ens-namehash "2.0.8" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-promievent "1.7.5" - web3-eth-abi "1.7.5" - web3-eth-contract "1.7.5" - web3-utils "1.7.5" + web3-core "1.8.0" + web3-core-helpers "1.8.0" + web3-core-promievent "1.8.0" + web3-eth-abi "1.8.0" + web3-eth-contract "1.8.0" + web3-utils "1.8.0" web3-eth-iban@1.7.4: version "1.7.4" @@ -28705,13 +28725,13 @@ web3-eth-iban@1.7.4: bn.js "^5.2.1" web3-utils "1.7.4" -web3-eth-iban@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.5.tgz#1a50efa42cabf1b731396d38bef6a8bf92b5ee1f" - integrity sha512-mn2W5t/1IpL8OZvzAabLKT4kvwRnZSJ9K0tctndl9sDNWkfITYQibEEhUaNNA50Q5fJKgVudHI/m0gwIVTyG8Q== +web3-eth-iban@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.8.0.tgz#3af8a0c95b5f7b0b81ab0bcd2075c1e5dda31520" + integrity sha512-4RbvUxcMpo/e5811sE3a6inJ2H4+FFqUVmlRYs0RaXaxiHweahSRBNcpO0UWgmlePTolj0rXqPT2oEr0DuC8kg== dependencies: bn.js "^5.2.1" - web3-utils "1.7.5" + web3-utils "1.8.0" web3-eth-personal@1.7.4: version "1.7.4" @@ -28725,17 +28745,17 @@ web3-eth-personal@1.7.4: web3-net "1.7.4" web3-utils "1.7.4" -web3-eth-personal@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.5.tgz#615a3ddcf97aeea93e2a4569753c033fd7a495c5" - integrity sha512-txh2P/eN8I4AOUKFi9++KKddoD0tWfCuu9Y1Kc41jSRbk6smO88Fum0KWNmYFYhSCX2qiknS1DfqsONl3igoKQ== +web3-eth-personal@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.8.0.tgz#433c35e2e042844402a12d543c4126ea1494b478" + integrity sha512-L7FT4nR3HmsfZyIAhFpEctKkYGOjRC2h6iFKs9gnFCHZga8yLcYcGaYOBIoYtaKom99MuGBoosayWt/Twh7F5A== dependencies: "@types/node" "^12.12.6" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-net "1.7.5" - web3-utils "1.7.5" + web3-core "1.8.0" + web3-core-helpers "1.8.0" + web3-core-method "1.8.0" + web3-net "1.8.0" + web3-utils "1.8.0" web3-eth@1.7.4: version "1.7.4" @@ -28755,23 +28775,23 @@ web3-eth@1.7.4: web3-net "1.7.4" web3-utils "1.7.4" -web3-eth@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.5.tgz#36906f50a6c35570cbc08871a33caa83dc131c9c" - integrity sha512-BucjvqZyDWYkGlsFX+OnOBub0YutlC1KZiNGibdmvtNX0NQK+8iw1uzAoL9yTTwCSszL7lnkFe8N+HCOl9B4Dw== - dependencies: - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-core-subscriptions "1.7.5" - web3-eth-abi "1.7.5" - web3-eth-accounts "1.7.5" - web3-eth-contract "1.7.5" - web3-eth-ens "1.7.5" - web3-eth-iban "1.7.5" - web3-eth-personal "1.7.5" - web3-net "1.7.5" - web3-utils "1.7.5" +web3-eth@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.8.0.tgz#006974a5d5e30644d05814111f9e162a72e4a09c" + integrity sha512-hist52os3OT4TQFB/GxPSMxTh3995sz6LPvQpPvj7ktSbpg9RNSFaSsPlCT63wUAHA3PZb1FemkAIeQM5t72Lw== + dependencies: + web3-core "1.8.0" + web3-core-helpers "1.8.0" + web3-core-method "1.8.0" + web3-core-subscriptions "1.8.0" + web3-eth-abi "1.8.0" + web3-eth-accounts "1.8.0" + web3-eth-contract "1.8.0" + web3-eth-ens "1.8.0" + web3-eth-iban "1.8.0" + web3-eth-personal "1.8.0" + web3-net "1.8.0" + web3-utils "1.8.0" web3-net@1.7.4: version "1.7.4" @@ -28782,14 +28802,14 @@ web3-net@1.7.4: web3-core-method "1.7.4" web3-utils "1.7.4" -web3-net@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.5.tgz#87fbc00a9ca40515bf60c847c0092498887cfdc8" - integrity sha512-xwuCb2YWw49PmW81AJQ/G+Xi2ikRsYyZXSgyPt4LmZuKjiqg/6kSdK8lZvUi3Pi3wM+QDBXbpr73M/WEkW0KvA== +web3-net@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.8.0.tgz#9acff92d7c647d801bc68df0ff4416f104dbe789" + integrity sha512-kX6EAacK7QrOe7DOh0t5yHS5q2kxZmTCxPVwSz9io9xBeE4n4UhmzGJ/VfhP2eM3OPKYeypcR3LEO6zZ8xn2vw== dependencies: - web3-core "1.7.5" - web3-core-method "1.7.5" - web3-utils "1.7.5" + web3-core "1.8.0" + web3-core-method "1.8.0" + web3-utils "1.8.0" web3-provider-engine@16.0.1: version "16.0.1" @@ -28827,15 +28847,15 @@ web3-providers-http@1.7.4: web3-core-helpers "1.7.4" xhr2-cookies "1.1.0" -web3-providers-http@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.5.tgz#144bb0c29007d1b766bafb0e20f80be050c7aa80" - integrity sha512-vPgr4Kzy0M3CHtoP/Bh7qwK/D9h2fhjpoqctdMWVJseOfeTgfOphCKN0uwV8w2VpZgDPXA8aeTdBx5OjmDdStA== +web3-providers-http@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.8.0.tgz#3fd1e569ead2095343fac17d53160a3bae674c23" + integrity sha512-/MqxwRzExohBWW97mqlCSW/+NHydGRyoEDUS1bAIF2YjfKFwyRtHgrEzOojzkC9JvB+8LofMvbXk9CcltpZapw== dependencies: abortcontroller-polyfill "^1.7.3" cross-fetch "^3.1.4" es6-promise "^4.2.8" - web3-core-helpers "1.7.5" + web3-core-helpers "1.8.0" web3-providers-ipc@1.7.4: version "1.7.4" @@ -28845,13 +28865,13 @@ web3-providers-ipc@1.7.4: oboe "2.1.5" web3-core-helpers "1.7.4" -web3-providers-ipc@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.5.tgz#5b0f9b4f7340416953b8816d2e42e3f548d47372" - integrity sha512-aNHx+RAROzO+apDEzy8Zncj78iqWBadIXtpmFDg7uiTn8i+oO+IcP1Yni7jyzkltsysVJHgHWG4kPx50ANCK3Q== +web3-providers-ipc@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.8.0.tgz#d339a24c4d764e459e425d3ac868a551ac33e3ea" + integrity sha512-tAXHtVXNUOgehaBU8pzAlB3qhjn/PRpjdzEjzHNFqtRRTwzSEKOJxFeEhaUA4FzHnTlbnrs8ujHWUitcp1elfg== dependencies: oboe "2.1.5" - web3-core-helpers "1.7.5" + web3-core-helpers "1.8.0" web3-providers-ws@1.7.4: version "1.7.4" @@ -28862,13 +28882,13 @@ web3-providers-ws@1.7.4: web3-core-helpers "1.7.4" websocket "^1.0.32" -web3-providers-ws@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.5.tgz#196b9e56a4a48f9bee54def56875ea53dec7c711" - integrity sha512-9uJNVVkIGC8PmM9kNbgPth56HDMSSsxZh3ZEENdwO3LNWemaADiQYUDCsD/dMVkn0xsGLHP5dgAy4Q5msqySLg== +web3-providers-ws@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.8.0.tgz#a0a73e0606981ea32bed40d215000a64753899de" + integrity sha512-bcZtSifsqyJxwkfQYamfdIRp4nhj9eJd7cxHg1uUkfLJK125WP96wyJL1xbPt7qt0MpfnTFn8/UuIqIB6nFENg== dependencies: eventemitter3 "4.0.4" - web3-core-helpers "1.7.5" + web3-core-helpers "1.8.0" websocket "^1.0.32" web3-shh@1.7.4: @@ -28881,15 +28901,15 @@ web3-shh@1.7.4: web3-core-subscriptions "1.7.4" web3-net "1.7.4" -web3-shh@1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.5.tgz#742e27f5c44bea6d7adef3a49b085e0fcd6aa621" - integrity sha512-aCIWJyLMH5H76OybU4ZpUCJ93yNOPATGhJ+KboRPU8QZDzS2CcVhtEzyl27bbvw+rSnVroMLqBgTXBB4mmKI7A== +web3-shh@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.8.0.tgz#b4abbf4f59d097ce2f74360e61e2e5c0bd6507c7" + integrity sha512-DNRgSa9Jf9xYFUGKSMylrf+zt3MPjhI2qF+UWX07o0y3+uf8zalDGiJOWvIS4upAsdPiKKVJ7co+Neof47OMmg== dependencies: - web3-core "1.7.5" - web3-core-method "1.7.5" - web3-core-subscriptions "1.7.5" - web3-net "1.7.5" + web3-core "1.8.0" + web3-core-method "1.8.0" + web3-core-subscriptions "1.8.0" + web3-net "1.8.0" web3-utils@1.2.11: version "1.2.11" @@ -28932,10 +28952,10 @@ web3-utils@1.7.4: randombytes "^2.1.0" utf8 "3.0.0" -web3-utils@1.7.5, web3-utils@^1.0.0-beta.31, web3-utils@^1.2.1, web3-utils@^1.2.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.5.tgz#081a952ac6e0322e25ac97b37358a43c7372ef6a" - integrity sha512-9AqNOziQky4wNQadEwEfHiBdOZqopIHzQQVzmvvv6fJwDSMhP+khqmAZC7YTiGjs0MboyZ8tWNivqSO1699XQw== +web3-utils@1.8.0, web3-utils@^1.0.0-beta.31, web3-utils@^1.2.1, web3-utils@^1.2.5, web3-utils@^1.3.4: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.8.0.tgz#0a506f8c6af9a2ad6ba79689892662769534fc03" + integrity sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ== dependencies: bn.js "^5.2.1" ethereum-bloom-filters "^1.0.6" @@ -28959,17 +28979,17 @@ web3@1.7.4: web3-utils "1.7.4" web3@^1.0.0-beta.34, web3@^1.2.5, web3@^1.3.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.5.tgz#4e185d2058195b5775109b3f27cdea65a34a036e" - integrity sha512-3jHZTWyXt975AOXgnZKayiSWDLpoSKk9fZtLk1hURQtt7AdSbXPT8AK9ooBCm0Dt3GYaOeNcHGaiHC3gtyqhLg== + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.8.0.tgz#3ca5f0b32de6a1f626407740411219035b5fde64" + integrity sha512-sldr9stK/SALSJTgI/8qpnDuBJNMGjVR84hJ+AcdQ+MLBGLMGsCDNubCoyO6qgk1/Y9SQ7ignegOI/7BPLoiDA== dependencies: - web3-bzz "1.7.5" - web3-core "1.7.5" - web3-eth "1.7.5" - web3-eth-personal "1.7.5" - web3-net "1.7.5" - web3-shh "1.7.5" - web3-utils "1.7.5" + web3-bzz "1.8.0" + web3-core "1.8.0" + web3-eth "1.8.0" + web3-eth-personal "1.8.0" + web3-net "1.8.0" + web3-shh "1.8.0" + web3-utils "1.8.0" webidl-conversions@^3.0.0: version "3.0.1" @@ -29033,9 +29053,9 @@ webpack-dev-middleware@^5.3.1: schema-utils "^4.0.0" webpack-dev-server@^4.6.0: - version "4.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz#290ee594765cd8260adfe83b2d18115ea04484e7" - integrity sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw== + version "4.11.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" + integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -29060,7 +29080,7 @@ webpack-dev-server@^4.6.0: p-retry "^4.5.0" rimraf "^3.0.2" schema-utils "^4.0.0" - selfsigned "^2.0.1" + selfsigned "^2.1.1" serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" @@ -29854,9 +29874,9 @@ ws@^7.3.1, ws@^7.4.0, ws@^7.4.5, ws@^7.4.6: integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.2.3, ws@^8.4.2, ws@^8.5.0: - version "8.8.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" - integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== + version "8.9.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" + integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== ws@~8.2.3: version "8.2.3" @@ -30130,9 +30150,9 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== zustand@^4.0.0-rc.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.1.1.tgz#5a61cc755a002df5f041840a414ae6e9a99ee22b" - integrity sha512-h4F3WMqsZgvvaE0n3lThx4MM81Ls9xebjvrABNzf5+jb3/03YjNTSgZXeyrvXDArMeV9untvWXRw1tY+ntPYbA== + version "4.1.2" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.1.2.tgz#4912b24741662d8a84ed1cb52198471cb369c4b6" + integrity sha512-gcRaKchcxFPbImrBb/BKgujOhHhik9YhVpIeP87ETT7uokEe2Szu7KkuZ9ghjtD+/KKkcrRNktR2AiLXPIbKIQ== dependencies: use-sync-external-store "1.2.0"